随笔分类 - SpringBoot
摘要:Spring的事务管理是使用AOP(面向切面编程)代理的原理来实现的。 Spring事务管理与AOP代理原理 AOP代理的作用: 在Spring中,AOP代理用于在目标对象的方法执行前后注入自定义的逻辑,这些逻辑通常与业务逻辑无关,但需要在业务逻辑执行时同步执行,如事务管理、日志记录、性能检测等。
阅读全文
摘要:接手新项目一言难尽,别的不说单单就一个 @Transactional 注解用的一塌糊涂,五花八门的用法,很大部分还失效无法回滚。 有意识的在涉及事务相关方法上加 @Transactional 注解,是个好习惯。不过,很多同学只是下意识地添加这个注解,一旦功能正常运行,很少有人会深入验证异常情况下事务
阅读全文
摘要:一 Spring boot运行时,会依次发送以下事件 1. ApplicationStartingEvent 2. ApplicationEnvironmentPreparedEvent:当Environment已经准备好,在context 创建前 3. ApplicationContextInit
阅读全文
摘要:开发中可能会有这样的场景,需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求。两个启动加载接口分别是:CommandLineRunner 和 ApplicationRunner。Spring 提供了接口 Initial
阅读全文
摘要:官网地址:https://spring.io/projects/spring-boot#learn 下面是从官网的截图的官方版本号 Spring Boot的版本号分析: 1)主版本,主版本一般情况下是不变的,除非有大机制或者是架构的调整,才会去调整主版本,且主版本之间一般是不相兼容的。 2)次版本,
阅读全文
摘要:概述 开发中可能会有这样的场景,需要在容器启动的时候执行一些内容。比如读取配置文件,数据库连接之类的。SpringBoot给我们提供了两个接口来帮助我们实现这种需求,两个启动加载接口分别是:CommandLineRunner和ApplicationRunner。Spring 提供了接口 Initia
阅读全文
摘要:由于工作需求,逻辑需要异步处理,测试过程中发现异步不生效,请求示例和响应结果展示如下: 响应结果: 根据测试用例会发现:线程ID一样,方法 syncData() 和主方法同步执行,异步不生效! 解决方案一 同一个类中调用需要先获取代理对象,也就是手动获取对象 @ResponseBody @Reque
阅读全文
摘要:转载:https://blog.csdn.net/SkyeBeFreeman/article/details/96291283 在阅读spring-boot相关源码时,常常见到spring.factories文件,里面写了自动配置(AutoConfiguration)相关的类名,因此产生了一个疑问:
阅读全文
摘要:springboot bean覆盖注册的问题-allowBeanDefinitionOverriding配置问题描述问题分析1. allowBeanDefinitionOverriding配置2. bean加载顺序问题描述项目引用三方jar包,需要对@Configuration配置类中的某个bean
阅读全文
摘要:今天面试被问到@Translational注解什么场景下失效,我一脸懵逼,说的恍恍惚惚的,下来我就总结一下@Translational注解失效的场景! @Transactional 注解相信大家并不陌生,平时开发中很常用的一个注解,它能保证方法内多个数据库操作要么同时成功、要么同时失败。使用@Tra
阅读全文
摘要:1. Websocket原理 Websocket协议本质上是一个基于TCP的独立协议,能够在浏览器和服务器之间建立双向连接,以基于消息的机制,赋予浏览器和服务器间实时通信能力。 WebSocket资源URI采用了自定义模式:ws表示纯文本通信,其连接地址写法为“ws://**”,占用与http相同的
阅读全文
摘要:在spring 3.2中,新增了@ControllerAdvice 注解,可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。参考:@ControllerAdvice 文档 一、介绍 创建 MyCont
阅读全文