- 博客(173)
- 资源 (6)
- 收藏
- 关注
原创 Spring Boot 异步返回对象深度解析
在现代高并发、高响应的应用场景中,Spring Boot 的异步处理能力是提升系统吞吐量和用户体验的关键技术之一。无论是实时数据推送、大文件传输,还是复杂异步任务调度,Spring Boot 提供了多种灵活的异步处理机制以满足不同需求。本文将从实际开发角度出发,系统解析 Spring Boot 中常见的异步处理方式,包括但不限于 DeferredResult、ResponseBodyEmitter 等特殊返回对象。
2025-03-20 19:16:08
585
原创 开源后台管理系统推荐
在当今数字化时代,企业和组织对于管理和运营资源的需求日益增加。开源后台管理系统应运而生,为用户提供了一个灵活、可定制化的管理平台。本文将介绍开源后台管理系统的概念和优势,探讨常见的开源后台管理系统,以及如何选择和搭建适合自己的系统。同时,我们还将分析开源后台管理系统在企业中的应用,帮助读者更好地了解和利用这一重要工具。
2025-03-14 10:03:29
1219
原创 Spring @Cacheable注解的最佳实践
使用Spring @Cacheable注解可以快速的将内容缓存起来,提升系统整体的性能,然后滥用该注解则会造成数据的不一致性。那么就让我们探讨一下Spring缓存注解有哪些功能,最佳的使用姿势应该是什么样的。
2024-11-12 15:10:00
920
原创 SpringKafka生产者、消费者消息拦截
生产者拦截器@Override// 在发送消息之前操作// 继续发送@Override@Override// 资源清理@Override// 可以在这里获取配置@Override// 配置拦截器@Override// 处理接收到的消息});@Override@Override// 资源清理由于此拦截器是受Spring容器管理的,所以可以通过@Component注解自动注入到容器中,进行自动拦截。
2024-10-29 13:30:40
739
原创 Knife4J + Springdoc + SpringBoot2美化Swagger文档
我们知道利用Swagger-UI结合Swagger提供的注解,在SpringBoot项目上可以将接口以HTML形式(swagger-ui.html)呈现出来,并且可以在线调试。但是老外的审美和使用习惯可能不太符合中国开发者的喜好。
2024-09-04 00:10:29
1809
原创 谈谈对字符串进行格式化--String.formart篇
可选, 参数索引是十进制整数,表示参数列表中参数的位置flags可选, 标志是一组修改输出格式的字符。有效标志集取决于转换width可选, 宽度是正十进制整数,表示要写入输出的最小字符数.precision可选, 精度是一个非负十进制整数,通常用于限制字符数conversion必须, 转换符是一个字符,指示如何格式化参数。给定参数的有效转换集取决于参数的数据类型。
2024-08-16 15:50:39
865
原创 SpringBoot各类数量限制及超出后抛出的异常
在使用SpringBoot开发接口时,动不动的就发生各种超过默认值的限制,这里总结了下SpringBoot默认限制的设置以及可能会发生的异常,便于问题的排查和快速修改默认值。
2024-07-05 10:26:08
960
1
原创 SpEL表达式使用方法
(Spring Expression Language)是一种用于在Spring框架中进行数据绑定和执行业务逻辑的表达式语言。Spring EL提供了一种简洁、灵活和强大的方式来访问对象的属性、调用方法、执行运算和逻辑判断等操作。
2024-06-06 14:43:33
1880
原创 SpringBoot读取指定yaml文件内容
在项目启动时,需要读取一些业务上大量的配置文件,用来初始化数据或者配置设定值等,我们都知道使用SpringBoot的@ConfigurationProperties注解 + application.yml配置可以很方便的读取这些配置,并且映射成对象很方便的使用,但是这些配置文件比较多的时候,而且不希望与application.yml放在一起,那么用SpringBoot如何实现呢。
2024-06-04 14:59:28
1521
原创 Date、LocalDateTime、时间戳、日期字符串互转
由于历史原因,项目上使用Date、LocalDateTime、时间戳甚至日期字符串的情况五花八门,在每次参数传递的时候,遇到类型不一致的时候就会很痛苦,接下来就总结下这些类之间到底怎样互转。
2024-05-23 23:53:36
581
原创 开发过程中使用MySQL和Oracle的差异
小型项目中使用MySQL的占比还是相对较高的,但是也不排除随着项目的扩大,产品的丰富,或者甲方的财大气粗,有可能会有MySQL换成Oracle。那么这两者对于开发者而言,有什么差异化的地方呢。
2024-05-16 17:09:03
1094
原创 Spring Data JPA 与 MyBatisPlus的比较
Column;Entity;Id;Table;JPA支持接口规范方法名查询,一般查询方法以 find、findBy、read、readBy、get、getBy为前缀,JPA在进行方法解析的时候会把前缀取掉,然后对剩下部分进行解析。// 调用此方法时,会自动生成 where code =?的条件。
2024-05-09 16:09:02
5889
2
原创 关于SpringBoot的配置文件
读取顺序由内而外: (1) - (2) - (3) - (4),后读取到会覆盖先读取到,所以优先级正好反过来: (4) - (3) - (2) - (1)说明:(1)和(2)通常放在/src/resource目录下面,打包的时候会自动拷贝到jar包的根目录下面。
2024-04-08 21:42:27
332
1
原创 SpringBoot使用Jackson 序列化小妙招
SpringBoot默认使用Jackson进行json数据的序列化,在这个过程中总会有些奇奇怪怪的需求,对于这些小需求要么增加一堆配置类,要么重写方法,其实都有点杀鸡用牛到了,那么我来列举下日常开发中这些小需求如何通过配置的形式解决。
2024-03-06 10:16:44
1072
原创 换电脑时需要备份的东西
作为一个程序员,换电脑或者更换用户的时候,需要带走的东西一定要做好备份。假设当前用户名为Admin, 以下文件要记得备份哦。
2023-11-13 17:18:40
582
原创 解决 org.eclipse.jface.text.Document class file version 61.0 报错
java.lang.UnsupportedClassVersionError: org/eclipse/jface/text/Document has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
2023-06-14 10:46:24
1516
原创 MyBatisPlus炫技分享
(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。MP区别于JPA,但是又达到了一部分JPA的使用姿势,只需要定义一个接口,就可以实现单表的增删改查。比MyBatis官方提供的代码生成工具效率更提升了很多倍,然后针对多表关联支持不够强大,对于动态条件的拼装,其实也只是把写SQL的工作转到了Java代码而已。其实还有一种写法,可以做到多表关联,并且也不用根据传入条件,来一个个的构造Wrapper查询条件。
2023-05-29 18:35:46
719
原创 Spring Gateway locator 自动路由兼容context-path
基于Spring Gateway和Eureka 结合的微服务开发方式,如果使用自动路由解析,可以将微服务上的eureka服务ID当成路由的key,从而能够根据网关地址+服务ID实现服务的自动转发。例如一个微服务的,其中有一个接口地址为。则通过就可以转发到这个微服务上。然而,因为某种原因,这个微服务加了。这样的话就不能直接是用自动路由了。这个带来的问题是每加一个服务,都得手动在配置文件里面加入路由,而且需要重启网关才能生效。
2023-03-16 21:11:34
1214
1
原创 对比两个Java对象属性值的差异代码示例
相同类型的对象A和对象B,要知道他们两个之间属性值的差异,另外一种场景是将一个对象更新时,想知道这个对象的哪些属性发生了变更。
2023-03-12 21:41:03
1676
原创 nested exception is org.apache.ibatis.binding.BindingException 解决方式汇总
MyBatis Mapper出现了nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘levelName’ not found. Available parameters are [arg2, arg1, arg0, param3, param1, param2],说明是Mapper接口方法的参数在编译的时候没有按照代码写的参数来进行。需要解决这个问题,可以从以下方面入手。
2023-01-18 13:25:59
23242
原创 Linux 查看日志
系统启动后的信息和错误日志,是Red Hat Linux中最常用的日志之一与安全相关的日志信息与邮件相关的日志信息与定时任务相关的日志信息与UUCP和news设备相关的日志信息守护进程启动和停止相关的日志消息。
2022-11-07 10:37:21
1421
转载 Linux安装docker-compose
Docker Compose是Docker编排服务的一部分,Compose可以让用户在集群中部署分布式应用。Docker Compose是一个属于“应用层”的服务,用户可以定义哪个容器组运行哪个应用,它支持动态改变应用,并在需要时扩展。
2022-10-12 17:11:53
360
转载 看了我常用的IDEA插件,同事也开始悄悄安装了...
IDEA是程序员用的最多的开发工具,很多程序员想把它打造成一站式开发工具,于是安装了各种各样的插件。通过插件在IDEA中完成各种操作,无需安装其他软件,确实很方便!今天给大家分享下我平时常用的IDEA插件,个个是精品!.........
2022-08-30 15:44:13
456
原创 SpringDoc + Spring Gateway + Knife4j 集成
如果有必要使用Spring Doc时,好像官方的文档相对较少,为此重新尝试了一把,SpringDoc的基本使用请查看官网,这里关键说下Spring Gateway 的配置。
2022-08-03 11:11:09
3619
8
转载 Spring Boot 内置工具类介绍
org.springframework.util.Assert 断言方法说明void notNull(Object object, String message)要求参数 object 必须为非空(Not Null),否则抛出异常,不予放行void isNull(Object object, String message)要求参数必须空(Null),否则抛出异常,不予放行。void isTrue(boolean expression, String message)要
2022-05-07 16:39:58
284
原创 PostgrelSQL清除WAL日志
查看当前日志回写情况pg_controldatapg_control version number: 1300Catalog version number: 202007201Database system identifier: 6978101400539662106Database cluster state: in productionpg_control last modified:
2022-05-06 09:17:18
1154
原创 SpringMVC SpringBoot Get请求接收复杂参数
前沿对于复杂的接口请求,一般都用POST JSON数据的方式,后端用@RequestBody接收,但是对于某些有洁癖的人或者想严格遵循类Restful风格的人来讲,查询数据就是想用GET,怎么实现呢?Request@Datapublic class MyRequest{ private String key; private String[] keys; private Map<String, String[]> keyValues;}Cont
2022-04-27 14:57:25
3121
原创 解决The plain HTTP request was sent to HTTPS port
问题现在越来越多的网站要求http访问转为更为安全的https访问,很多使用nginx部署的前端应用可以很方便的使用反向代理来实现,切换后,用http访问就会出现 "The plain HTTP request was sent to HTTPS port"的错误页面。解决思路将此错误页面重定向到指定的https地址即可解决方法假设端口号是8443:server { listen 8443 ssl; ssl_certificate ssl_cert.pem; ssl_ce
2022-04-25 09:56:08
33998
原创 Postgresql 常用表分区SQL
场景一 按照时间范围分区单列形式-- 创建主表CREATE TABLE measurement ( city_id int not null, logdate date not null, peaktemp int, unitsales int) PARTITION BY RANGE (logdate);-- 创建分区表, 2022年1月1日0点 - 2022年1月31日23点59分59秒CREATE T
2022-04-12 11:59:24
1052
2
原创 Postgresql 常用关联增删改SQL
1. 关联新增INSERT INTO table1(id, name, create_time)SELECT id, name, now() FROM table2 WHERE name like 'x%';2. 关联更新UPDATE table1 tb1SET name = tb2.name, update_time = now();FROM table2 tb2WHERE tb1.id = tb2.id3. 关联删除DELETE FROM table1 tb1USING tabl
2022-03-15 11:37:32
2084
原创 Postgresql 常用数据库管理SQL
修改数据库时区ALTER DATABASE mydb SET timezone TO 'Asia/Shanghai'
2022-02-15 09:46:12
2672
HandlerMapping HandlerAdapter View ViewResolver类图 矢量图
2020-04-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人