SpringBoot
文章平均质量分 83
程序猿DD
《Spring Cloud微服务实战》作者、腾讯云TVP、阿里云MVP
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何用 ShedLock 让 Spring Boot 的定时任务在多实例环境下只执行一次
一句话总结:用 ShedLock,可以让 Spring 在多实例部署下也能把定时任务“稳稳只跑一次”。原创 2025-09-28 15:20:27 · 998 阅读 · 0 评论 -
Spring Boot 4 与 Spring Framework 7 全面解析:新特性、升级要点与实战指南
有了 API 版本控制和弹性注解,应用既能轻松升级,又能扛住各种异常靠 JSpecify 的空安全和 Kotlin 支持,运行时出错能少很多。声明式 HTTP 客户端,服务之间调用不用写一堆请求代码了。原生镜像支持和可观测性工具加强,往云环境上部署更顺了。跟所有大版本升级一样,关键是早点拿项目测。尤其是依赖升级和旧 API 替换这两块,早发现问题早解决。不过话说回来,升级后开发效率变高、性能变好、维护也省心,这点麻烦还是值得的。个人博客和同名公众号。原创 2025-09-26 13:44:44 · 1219 阅读 · 0 评论 -
Spring Boot 中为什么不要将 DTO 与 Entity 混合使用
刚入门的时候,没有人告诉我要分离 DTOs 和 Entities。我只能通过踩坑来学习——各种 bug、奇怪的行为、接口异常等等。如果你正在开发 Spring Boot 应用,建议尽早创建专门的 DTOs。你在混合使用 DTOs 和 Entities 时遇到过类似问题吗?欢迎在评论区分享你的经验。原创 2025-06-13 22:00:00 · 1331 阅读 · 0 评论 -
Spring Boot + Multipart 文件上传:为什么你的应用在 10MB 后会失败
Spring Boot 默认将文件上传大小限制为 10MB。原创 2025-06-13 16:49:12 · 992 阅读 · 0 评论 -
Spring Boot 4.0.0 新特性详解:深入解读 Spring Framework 7.0.0
API 版本控制:通过实现优雅的端点版本管理:支持灵活的编程式 Bean 注册空值安全:采用 JSpecify 注解构建更健壮的代码HTTP 代理:使用简化服务集成技术栈现代化:全面支持 Jackson 3.x、Servlet 6.1、WebSocket 2.2 和 GraalVM 原生镜像Spring Boot 3.4中文文档Spring Boot 3.5中文文档Spring AI 1.0.0中文文档这些变化让 Spring Boot 4.0.0 成为构建现代云原生应用的强大选择。原创 2025-06-10 17:00:00 · 1717 阅读 · 0 评论 -
告别 @MockBean!在 Spring Boot 3.2+ 中使用 @MockitoBean 进行单元测试
多年来, 一直被广泛用于 Spring Boot 单元测试中来模拟依赖项。然而,在 Spring Boot 3.2 中, 由于性能和可维护性方面的问题已被标记为废弃。✔ 创建不必要的 Spring 上下文代理 → 拖慢测试执行速度✔ 全局模拟 Bean → 可能在多个测试中产生副作用✔ 未针对 Spring Boot 3.2 的测试改进进行优化Spring Boot 3.2 引入了 ,它提供了:✔ 更快的测试执行速度 - 直接集成 Mockito✔ 更好的测试组件隔离✔ 更可靠的单元测试体验 是原创 2025-06-08 11:34:55 · 1870 阅读 · 0 评论 -
如何在Spring Boot中使用注解动态切换实现
Qualifier这种基于注解的动态服务选择模式,能够显著提升代码质量和可维护性,特别适用于大型项目中复杂的服务发现场景。告别意大利面条式的代码,拥抱注解驱动的动态、优雅的服务注入方式。原创 2025-06-08 08:00:00 · 834 阅读 · 0 评论 -
Spring Boot + 虚拟线程实现的二维码生成器
随着的发布,虚拟线程(Virtual Threads)成为了正式特性,彻底改变了 Java 的并发编程方式。它们为传统线程提供了更轻量、更易扩展的替代方案,让开发者能够编写出更加简洁高效的并发代码。原创 2025-06-05 09:00:00 · 1018 阅读 · 0 评论 -
Spring Boot 用一个接口搞定各种灵活查询
Service和。每加一个实体,通常就会有对应的 Controller 来处理 CRUD 和业务逻辑——至少对于同步操作来说如此。创建POSTPUTDELETE这些接口很简单:校验、业务逻辑一接,接口就能用了。但GET呢?来看一个简单的Employee清爽利落,对吧?我们继续下一个需求:“API 能不能也按角色过滤?又一次上线、又一次版本号递增。然后又有同事说:“我们想按 status 或 role 查询,还能不能加个 department 过滤?糟了,问题来了:组合太多,维护太累。原创 2025-06-04 08:30:00 · 408 阅读 · 0 评论 -
升级到 Spring Boot 3.5,我们的云成本减少了 45%
作为软件工程师,面对性能挑战时我们常常关注代码优化、算法改进和架构调整。我们的经验表明,配置(尤其是数据库连接相关配置)同样值得作为一等优化手段。Spring Boot 3.5 的改进是基础,而我们精细的配置调优则释放了这些提升的全部潜力。最终收获的不只是成本节省,还有更可靠、高效、环保的应用。先彻底分析当前资源使用模式理解框架的数据库连接行为针对性地调整配置持续监控并迭代优化。原创 2025-05-30 11:30:00 · 2218 阅读 · 0 评论 -
使用Prometheus和Grafana监控Spring Boot应用
登录尝试次数。@Component} else {新增一个新的面板Query使用rate()函数计算5分钟内的每秒平均请求率可视化配置选择"Graph"图表类型以查看趋势。将"result"标签分成独立的线条显示。专业建议。原创 2025-05-17 06:00:00 · 2040 阅读 · 0 评论 -
Spring Boot发布2.6.2、2.5.8:升级log4j2到2.17.0
12月22日,Spring官方发布了Spring Boot 2.5.8(包括46个错误修复、文档改进和依赖项升级)和2.6.2(包括55个错误修复、文档改进和依赖项升级)。这两个版本均为缺陷修复版本,值得注意的是再这两个版本中更新了最近困扰大家的log4j2版本升级,如果正在使用log4j2的小伙伴,可以做此升级。2.6.2版本内容用户已经可以通过下面的Maven坐标获取2.6.2的依赖:<parent> <groupId>org.springframework.boot原创 2021-12-22 10:34:29 · 2738 阅读 · 2 评论 -
为什么加上<log4j2.version>配置就可以更新log4j2的版本?
最近log4j2的核弹级漏洞席卷了大部分互联网公司,升级版本成了这两周的核心任务。对于要升级到什么版本,最新版本2.16.0是最佳选择。那么如何快速升级,之前也给出了Spring Boot项目升级版本的最简方法。大家只需要使用这样的简单配置,就可以把log4j2一系列包的版本都升级了。如果这种方法不行,注意加了配置之后要reload下。另外,如果你不是Spring Boot项目,或者是通过其他方式引入的log4j2,那么需要单独处理,或者在你项目的根依赖里,直接写上log4j2的依赖并设置版本为2.原创 2021-12-17 12:57:23 · 3125 阅读 · 4 评论 -
Log4j2再发新版本2.16.0,完全删除Message Lookups的支持,加固漏洞防御
昨天,Apache Log4j 团队再次发布了新版本:2.16.0 !2.16.0 更新内容默认禁用JNDI的访问,用户需要通过配置log4j2.enableJndi参数开启默认允许协议限制为:java、ldap、ldaps,并将ldap协议限制为仅可访问Java原始对象Message Lookups被完全移除,加固漏洞的防御更多更新细节,可以通过官网查看:https://logging.apache.org/log4j/2.x/如果您正在学习Spring Boot,那么推荐一个连载多年还在继原创 2021-12-15 09:48:19 · 3387 阅读 · 2 评论 -
《Spring Boot免费教程》连载目录
专题目标:打造全网最全、比收费教程更好的Spring Boot免费教程!如何支持:关注我的公众号”程序猿DD“,第一时间获得更新推送!把该页面分享给更多的朋友教程目录本教程内容持续更新连载中…Star关注支持一下,随时获得更新信息!快速入门Spring Boot 2.x基础教程:版本关系Spring Boot 2.x基础教程:快速入门Spring Boot 2.x基础教程:工程结构推荐配置详解Spring Boot 2.x基础教程:配置文件详解Spring Boot 2.x原创 2021-12-05 22:05:19 · 853 阅读 · 8 评论 -
Spring Boot 2.6.0正式发布:默认禁止循环依赖、增强Docker镜像构建...
昨天,Spring官方正式发布了Spring Boot今年最后一个特性版本:2.6.0同时,也宣布了2.4.x版本的终结。那么这个新版本又带来了哪些新特性呢?下面就一起跟着DD来看看吧!重要特性1. Servlet应用支持在 Cookie 中配置 SameSite 属性该属性可通过server.session.cookie.same-site属性来配置,共有三个可选值:Strict 严格模式,必须同站请求才能发送 cookieLax 宽松模式,安全的跨站请求可以发送 cookieNone.原创 2021-11-20 09:30:00 · 8799 阅读 · 8 评论 -
使用 @Transactional 时常犯的N种错误
@Transactional是我们在用Spring时候几乎逃不掉的一个注解,该注解主要用来声明事务。它的实现原理是通过Spring AOP在注解修饰方法的前后织入事务管理的实现语句,所以开发者只需要通过一个注解就能代替一系列繁琐的事务开始、事务关闭等重复性的编码任务。编码方式确实简单了,但也因为隐藏了直观的实现逻辑,一些错误的编码方法可能会让@Transactional注解失效,达不到事务的作用。最直接的表现就是:方法执行过程中抛出了异常,但事务没有回滚,最终导致了脏数据的产生。之前我在博客上也写过一篇原创 2021-11-16 10:49:30 · 3015 阅读 · 3 评论 -
Spring Boot中使用PostgreSQL数据库
在如今的关系型数据库中,有两个开源产品是你必须知道的。其中一个是MySQL,相信关注我的小伙伴们一定都不陌生,因为之前的Spring Boot关于关系型数据库的所有例子都是对MySQL来介绍的。而今天我们将介绍另外一个开源关系型数据库:PostgreSQL,以及在Spring Boot中如何使用。PostgreSQL简介在学习PostgreSQL的时候,我们总是会将其与MySQL放一起来比较:MySQL自称是最流行的开源数据库,而PostgreSQL则标榜自己是最先进的开源数据库,那么有多先进呢?下面就原创 2021-10-09 09:33:13 · 12069 阅读 · 0 评论 -
Spring Boot 2.4 对多环境配置的支持更改
在目前最新的Spring Boot 2.4版本中,对配置的加载机制做了较大的调整。相关的问题最近也被问的比较多,所以今天就花点时间,给大家讲讲Spring Boot 2.4的多环境配置较之前版本有哪些变化。多环境配置2.4版本之前先回顾下,2.4版本之前,我们在yaml配置文件中,使用spring.profiles来定义不同环境的标识,比如下面这样:spring: profiles: "dev"name: dev.didispace.com---spring:原创 2020-12-17 09:41:20 · 16859 阅读 · 12 评论 -
为什么IDEA不推荐你使用@Autowired ?
@Autowired注解相信每个Spring开发者都不陌生了!在DD的Spring Boot基础教程和Spring Cloud基础教程中也都经常会出现。但是当我们使用IDEA写代码的时候,经常会发现@Autowired注解下面是有小黄线的,我们把小鼠标悬停在上面,可以看到这个如下图所示的警告信息:那么为什么IDEA会给出Field injection is not recommended这样的警告呢?下面带着这样的问题,一起来全面的了解下Spring中的三种注入方式以及他们之间在各方面的优劣。Sp原创 2021-11-05 11:04:59 · 4408 阅读 · 5 评论 -
Spring Initializr中生成的mvnw是干吗的?
当我们使用Spring Initializr来创建Spring Boot工程的时候,有没有发现在工程根目录下有两个名为mvnw的文件:从命名、图标、扩展名来猜测,这两个文件的作用应该是一样的,只是cmd文件应该是用在windows下跑的,而另外一个则是用于linux环境下跑的。欢迎关注Spring Boot系列免费教程连载「点击进入汇总目录」那么这个文件到底是用来做什么呢?下面我们一起尝试了解一下:第一步:打开读一下因为内容较多,我这里就不放出来了。内容也非常易懂,只要你了解shell和m原创 2021-01-22 09:40:56 · 892 阅读 · 0 评论 -
Spring Boot 2.x基础教程:多个文件的上传
昨天,我们介绍了如何在Spring Boot中实现文件的上传。有读者问:那么如果有多个文件要同时上传呢?这就马上奉上,当碰到多个文件要同时上传的处理方法。动手试试本文的动手环节将基于Spring Boot中实现文件的上传一文的例子之上,所以读者可以拿上一篇的例子作为基础来进行改造,以体会这之间的区别,下面也主要讲解核心区别的地方。第一步:修改文件上传页面的上传表单<!DOCTYPE html><html><head lang="en">原创 2021-01-08 10:26:29 · 13146 阅读 · 0 评论 -
文件上传的单元测试怎么写?
早上有个群友问了一个不错的问题:文件上传的单元测试怎么写?后面也针对后端开发要不要学一下单元测试的话题聊了聊,个人是非常建议后端开发能够学一下单元测试的。所以,今天特地拿出来写一篇说说,并不是因为这有多难写,而是作为出色的后端开发人员,单元测试如果你能考虑周到,那么从代码结构,程序质量上都会有很大的提升。而实际开发过程中,很少有开发人员会特别关注这个方面。言归正传,下面我们具体说说当碰到需要上传文件的接口,我们要如何写单元测试!先来回忆一下,普通接口的单元测试我们是如何写的?看看我们入门例子中的单元测试原创 2021-01-11 10:38:57 · 1419 阅读 · 0 评论 -
聊一聊:MyBatis和Spring Data JPA的选择问题
从个人开发角度来说,Spring Data JPA更好用,是因为开发起来更快。但从团队角度,我们希望更好的维护性,spring data jpa就差一些,或者说对后期人的要求更高。很容易出现这种情况:监控系统发现某个慢查询了,运维把SQL发到开发群里,大家自查一下。此时很可能发现根本没人回应,都说没有这句SQL。然后运维定位到某个库,找到这个库的使用人,让他去看。他可能也就拿着SQL全局去搜,发现还是搜不到。如果这个人责任心不强,可能就说 没找到这个SQL,责任心强调的,对Spring Dat原创 2021-01-15 10:13:17 · 791 阅读 · 0 评论 -
Spring Boot 2.x基础教程:实现文件上传
文件上传的功能实现是我们做Web应用时候最为常见的应用场景,比如:实现头像的上传,Excel文件数据的导入等功能,都需要我们先实现文件的上传,然后再做图片的裁剪,excel数据的解析入库等后续操作。今天通过这篇文章,我们就来一起学习一下如何在Spring Boot中实现文件的上传。动手试试第一步:创建一个基础的Spring Boot项目,如果还不会的话就先看看这篇《快速入门》。第二步:在pom.xml中引入模版引擎依赖:<dependency> <groupId>o原创 2021-01-07 10:46:01 · 844 阅读 · 0 评论 -
Spring Boot 2.x基础教程:配置元数据的应用
在使用Spring Boot开发应用的时候,你是否有发现这样的情况:自定义属性是有高量背景的,鼠标放上去,有一个Cannot resolve configuration property的配置警告。如果不对于这个警告觉得烦,想要去掉,那么可以通过设置来去除:但是,我的建议是不要去掉,因为这个警告正好可以通过高亮来区分你的自定义配置以及框架配置,可以让你快速的分辨哪些是自定义的。如果你实在想去掉,那么也不建议用上面说的方法,而是建议通过完善配置元数据的方式来完成。所以,今天就来具体说说配置元数据的应原创 2021-01-20 10:32:29 · 989 阅读 · 0 评论 -
Spring Boot 2.x基础教程:使用Flyway管理数据库版本
之前已经介绍了很多在Spring Boot中使用MySQL的案例,包含了Spring Boot最原始的JdbcTemplate、Spring Data JPA以及我们国内最常用的MyBatis。同时,对于一些复杂场景比如:更换Druid数据源,或是多数据源的情况也都做了介绍。不论我们使用哪一个具体实现框架,都离不开对数据库表结构的管理。而这一类管理一直都存在一个问题:由于数据库表元数据存储于数据库中,而我们的访问逻辑都存在于Git或其他代码仓库中。Git已经帮助我们完成了代码的多版本管理,那么数据库中的表原创 2021-01-12 09:45:02 · 11536 阅读 · 5 评论 -
Spring Boot 2.x基础教程:如何扩展XML格式的请求和响应
在之前的所有Spring Boot教程中,我们都只提到和用到了针对HTML和JSON格式的请求与响应处理。那么对于XML格式的请求要如何快速的在Controller中包装成对象,以及如何以XML的格式返回一个对象呢?实现原理:消息转换器(Message Converter)在扩展上述问题之前,我们先要知道Spring Boot中处理HTTP请求的实现是采用的Spring MVC。而在Spring MVC中有一个消息转换器这个概念,它主要负责处理各种不同格式的请求数据进行处理,并包转换成对象,以提供更好的原创 2021-06-25 10:28:46 · 766 阅读 · 0 评论 -
遇到 Request header is too large,你是如何解决的?
看到群里有小伙伴问,这个异常要怎么解决:java.lang.IllegalArgumentException: Request header is too large异常原因根据Exception MessageRequest header is too large,就可以判断这个错误原因是HTTP请求头过大导致的。本文首发程序猿DD博客,欢迎收藏关注!如何解决解决方法主要两个方向:方向一: 配置应用服务器使其允许的最大值 > 你实用实用的请求头数据大小如果用Spring Boot的话原创 2021-06-03 09:33:39 · 4374 阅读 · 1 评论 -
Spring Boot 2.5.0 重新设计的spring.sql.init 配置有啥用?
前几天Spring Boot 2.5.0发布了,其中提到了关于Datasource初始化机制的调整,有读者私信想了解这方面做了什么调整。那么今天就要详细说说这个重新设计的配置内容,并结合实际情况说说我的理解和实践建议。弃用内容先来纠正一个误区。主要之前在版本更新介绍的时候,存在一些表述上的问题。导致部分读者认为这次的更新是Datasource本身初始化的调整,但其实并不是。这次重新设计的只是对Datasource脚本初始化机制的重新设计。先来看看这次被弃用部分的内容(位于org.springframe原创 2021-05-24 10:13:42 · 2125 阅读 · 0 评论 -
Spring Boot 2.x基础教程:使用Redis的发布订阅功能
通过前面一篇集中式缓存的使用教程,我们已经了解了Redis的核心功能:作为K、V存储的高性能缓存。接下来我们会分几篇来继续讲讲Redis的一些其他强大用法!如果你对此感兴趣,一定要关注收藏我哦!发布订阅模式如果你看过之前我写的关于MQ的相关文章,那么对于发布订阅功能应该不会陌生。如果没看过,那也不要紧,这里先做一个简单介绍,已经了解的可以跳过直接看下一节内容。什么是发布订阅模式?在发布订阅模式中有个重要的角色,一个是发布者Publisher,另一个订阅者Subscriber。本质上来说,发布订阅模原创 2021-06-28 10:30:11 · 742 阅读 · 0 评论 -
Spring Boot 2.x基础教程:使用MongoDB
前段时间因为团队调整,大部分时间放在了团队上,这系列的更新又耽误了一下。但既然承诺持久更新,那就不会落下,今天开始继续更新这部分的内容!过了年,重申一下这个系列的目标:目前主要任务就是把Spring Boot 1.x部分没有升级的内容做完升级。我会将因为版本升级而产生的变化做一些说明,这样不论低版本的读者还是高版本的读者都能找到自己想要的部分。这也是这次做2.x版本升级的重要原因,尽量避免或减少有读者用着高版本参考我这边低版本的实现而出现问题,然后开始问候我家人的情况。在完成上述所有的更新之后,接下来很原创 2021-03-04 10:24:49 · 949 阅读 · 1 评论 -
Spring Boot 2.5.0 发布:支持Java16、Gradle 7、Datasource初始化机制调整
今年520的事情是真的多,娱乐圈的我们不管,就跟DD一起来看看 Spring Boot 2.5.0 的发布吧!看看都带来了哪些振奋人心的新特性和改动!主要更新支持 Java 16支持 Gradle 7支持 Jetty 10增强 Docker 镜像的构建更新了Datasource的初始化机制除了框架功能更新之后,该版本在文档方面也顺应时代潮流,增加了暗黑模式的支持!长这样,是你喜欢的阅读模式吗?其他更新management.endpoints.web.cors.allowed-or原创 2021-05-22 11:12:00 · 4749 阅读 · 3 评论 -
Spring Boot 2.x基础教程:使用LDAP来管理用户与组织数据
很多时候,我们在做公司系统或产品时,都需要自己创建用户管理体系,这对于开发人员来说并不是什么难事,但是当我们需要维护多个不同系统并且相同用户跨系统使用的情况下,如果每个系统维护自己的用户信息,那么此时用户信息的同步就会变的比较麻烦,对于用户自身来说也会非常困扰,很容易出现不同系统密码不一致啊等情况出现。如果此时我们引入LDAP来集中存储用户的基本信息并提供统一的读写接口和校验机制,那么这样的问题就比较容易解决了。尤其在一些内部管理系统的开发和搭建时,往往我们的内部系统一开始并不全是自己开发的,还有很多第.原创 2021-06-18 16:40:27 · 1562 阅读 · 0 评论 -
Spring Boot 2.x基础教程:使用JTA实现多数据源的事务管理
在一个Spring Boot项目中,连接多个数据源还是比较常见的。之前也介绍了如何在几种常用框架的场景下配置多数据源,具体可见:Spring Boot 2.x基础教程:JdbcTemplate的多数据源配置Spring Boot 2.x基础教程:Spring Data JPA的多数据源配置Spring Boot 2.x基础教程:MyBatis的多数据源配置当我们采用多数据源的时候,同时也会出现一个这样的特殊场景:我们希望对A数据源的更新和B数据源的更新具备事务性。这样的例子很常见,比如:在订单库原创 2021-02-03 15:47:55 · 1212 阅读 · 0 评论 -
JPA事务中的异常最后不也抛出了,为什么没被catch到而导致回滚?
上周,我们通过这篇文章《为什么catch了异常,但事务还是回滚了?》来解释了,之前test4为什么会回滚的原因。但还是收到了很多没有理解的反馈,主要是根据前文给出的线索去跟踪,是获得到了回滚的标示和异常,而让大家不理解的是,javax.validation.ConstraintViolationException异常不是最后也向外抛出了,那么为什么test4里catch没有能够捕获到呢?其实这个问题并不难解释,下面就通过这篇文章,做个小实验,帮助大家进一步理解大家的这个疑问!如果你还不了解这篇文章在讨原创 2021-07-09 13:05:31 · 849 阅读 · 0 评论 -
为什么catch了异常,但事务还是回滚了?
前几天我发了这篇文章《我来出个题:这个事务会不会回滚?》得到了很多不错的反馈,也有不少读者通过微信、群或者邮件的方式,给了我一些关于test4的回复。其中还有直接发给我测试案例,来证明我的答案是错的。今天,我们就来一起看看test4这个争议很大的问题。如果您是刚打开这篇文章,不了解我们在讨论啥,那可以先点击查看之前的这篇《我来出个题:这个事务会不会回滚?》。通过这两篇文章的解析,相信你会对Spring Data JPA下的事务执行机制有质的飞跃。为什么没回滚先来说说,那些写了代码验证"不会回滚原创 2021-07-02 13:01:55 · 5055 阅读 · 3 评论 -
Spring官方发布新成员:Spring GraphQL
近日,在GraphQL Java诞生6周年的时候,Spring社区通过博客宣布正式创建全新项目:Spring GraphQL,同时还发布了这个新项目的里程碑1.0版本。博客原文:https://spring.io/blog/2021/07/06/hello-spring-graphql该项目的任务是将GraphQL Java集成入Spring生态,而这个项目的开发工作将由双方两个团队共同承担。什么是 GraphQL?纵使GraphQL在国外开始就被炒的火热,但到了国内就跟Hibernate、JPA一原创 2021-07-08 10:01:59 · 2622 阅读 · 8 评论 -
这几个事务案例会回滚吗?最后一个90%的人判断错了...
下面这个问题源于前几日在我们的Spring技术交流群里,一个群友提出的关于事务回滚的疑问。在讨论过程中,我尝试去复现群友提出的问题场景,发现了另外一个可能让大家会迷惑的情况。当时在群里说了结果和原因,但微信群范围有限,所以单独写篇文章,拿出来给大家看看,顺便考考大家,对这块是否了解。问题描述这个问题的基础工程我用了之前Spring Boot 2.x基础教程中《使用Spring Data JPA访问MySQL》的案例。你可以通过下面仓库中的chapter3-4目录获取基础工程:Github:ht原创 2021-06-30 09:48:22 · 1521 阅读 · 0 评论 -
Spring Boot中使用@Async的时候,千万别忘了线程池的配置!
上一篇我们介绍了如何使用@Async注解来创建异步任务,我可以用这种方法来实现一些并发操作,以加速任务的执行效率。但是,如果只是如前文那样直接简单的创建来使用,可能还是会碰到一些问题。存在有什么问题呢?先来思考下,下面的这个接口,通过异步任务加速执行的实现,是否存在问题或风险呢?@RestControllerpublic class HelloController { @Autowired private AsyncTasks asyncTasks; @GetMapping(原创 2021-09-16 12:15:57 · 1820 阅读 · 0 评论
分享