随笔分类 - springboot
摘要:产品技术架构从SpringBoot2.x升级到SpringBoot3.x后,对原有代码进行单元测试时发现,之前通过CriteriaQuery查询对象实现的分页查询功能,在进行记录数count查询时,会抛出SqlTreeCreationException: Could not locate Table
阅读全文
摘要:前言 当下在设计大型系统或网站时,为了满足系统的灵活性、扩展性、模块化、松耦合、高可用等特性,在技术架构选择时往往会选用微服务架构。独立服务的拆分会增加部署时机器资源的消耗。在轻量化部署场景的催化下,需要考虑中间件的缩减以及微服务应用的合并部署,已达到降低对服务器资源的依赖。 项目结构 我们的项目工
阅读全文
摘要:优点 无侵入:仅需在mapper层接口中增加Pager<T>参数即可。 零配置:无需额外增加配置项,能够自动推断数据库分页方言。 使用方法 SpringBoot2 项目引入maven依赖 <dependency> <groupId>cn.codest</groupId> <artifactId>my
阅读全文
摘要:在%TOMCAT_HOME%/bin目录下新建setenv.sh或setenv.bat脚本,添加如下内容: CATALINA_OPTS="-Dspring.profiles.active=release \ -DNACOS_NAMESPACE=bf8720f4-xxxx-xxxx-b713-957a
阅读全文
摘要:只发博客园,盗版必究 先说背景 平时我们的Spring Boot项目都是打成Executable Jar启动应用,最近接了个技术需求,需要打成War包,将多个项目放在同一个Tomcat中运行。 原本Jar包启动一切正常,但是打成WAR放Tomcat启动后报错了,异常栈如下: Caused by: o
阅读全文
摘要:问题 最近在接触SpringBoot3,整合Swagger文档组件的过程中发现一个问题,通过springdoc.group-configs[0].display-name=示例接口配置分组名称在界面上面还是显示OpenAPI definition,如下图所示: 查询了下官方文档,可以通过注入Grou
阅读全文
摘要:背景 目前已经是微服务的天下,但是随着业务需求的日益增长,部分应用还是出现了需要同时连接多个数据源操作数据的技术诉求。 需要对现有的技术架构进行优化升级,查阅了下网上的文章,基本都是照搬的同一篇文章,通过代码的方式同时注册primary和second两个数据源。这种实现方案的技术成本比较低,但是维护
阅读全文
摘要:背景 最近遇到一个技术需求,需要对其他多个已有的服务进行整合打包为一个整体的服务,项目启动过程发现一个问题,在controller层多个服务之间存在相同的RequestMapping接口请求路径,导致服务无法启动。 目前的接口定义规范为:/服务名(context-path)/接口版本号/模块名/接口
阅读全文
摘要:介绍 minimal-config-spring-boot-starter,是基于Spring-Boot原生配置注入实现原理的基础上,拓展的轻量级配置中心,项目体积只有24KB,设计理念为服务中小型项目,快速构建远程配置中心及配置实时刷新,本身提供了基于Gitee代码仓库的远程配置读取能力,开发者只
阅读全文
摘要:Spring Boot版本:2.6.2 查阅spring-boot-starter-mail源码的MimeMessageHelper.setText方法,发现有个Boolean类型参数控制是否是HTML格式,方法签名如下: public void setText(String text, boole
阅读全文
摘要:1、 @SpringBootApplication 注解中引用了@EnableAutoConfiguration 注解。 2、查看 @EnableAutoConfiguration 注解,发现引用了 @AutoConfigurationPackage 注解。 3、查看 @AutoConfigurat
阅读全文
摘要:业务需求 SpringBoot项目配置信息大多使用@Value注解或者@ConfigurationProperties注解读取配置信息,线上项目经常需要对某些配置进行调整,如果每次都需要修改配置文件再重新发布服务,难免会导致服务中断。 尤其是在分布式系统中多个服务节点都需要修改配置文件的场景,基于此
阅读全文
摘要:背景 产品迭代使用CI/CD升级过程中,需要对不同发布环境的不同产品版本进行数据库迭代升级,我们在中间某次产品迭代时加入了Flyway中间件以实现数据库结构的自动化升级。 需求 由于是迭代过程中加入的Flyway,而不是一开始就使用,所以Flyway的版本表和版本记录数据在已经发布过的环境中是不存在
阅读全文
摘要:网上找了很多文章,各种照搬,只能自己实现 基于开源项目HTTP-Proxy-Servlet实现 开源项目地址:https://github.com/mitre/HTTP-Proxy-Servlet 1. 添加依赖 <dependency> <groupId>org.mitre.dsmiley.htt
阅读全文
摘要:转载自:https://blog.csdn.net/qq_26323323/article/details/89814410 2020/02/26重新编辑一下 前面介绍ShutDownHook的基本使用方法,但是没有清楚的表述如何在SpringBoot中运用,这里我们来补充一下: 查阅SpringB
阅读全文