java八股 spring + mybatis

2023-12-25 05:55:37

Spring常用注解(绝对经典)_spring注解-CSDN博客?

框架篇-02-Spring-单例bean是线程安全的吗_哔哩哔哩_bilibili

1.spring.bean 单例 + 线程不安全

2.AOP

项目里可以说记录用户登录日志,利用request去获取姓名、ip、、请求方式、url,时间

?

3.事务失效

深入理解 Spring 事务:入门、使用、原理-腾讯云开发者社区-腾讯云 (tencent.com)?

框架篇-04-Spring-事务失效的场景_哔哩哔哩_bilibili

spring 事务失效的 12 种场景_spring 截获duplicatekeyexception 不抛异常-CSDN博客

3.1 非检查异常被try catch,spring收不到消息

如果一个spring事务里两组数据库操作中间有一个异常操作,没有被try catch的话。那么java代码报错,事务会自动回滚,没问题。

如果把异常try catch处理了,容易导致事务失效,前一段数据库操作做了,异常后面一段没做,直接跳到catch里了。

3.2 抛出检查异常 spring不会回滚

3.3事务方法非public

3.4其他场景

spring 事务失效的 12 种场景_spring 截获duplicatekeyexception 不抛异常-CSDN博客

我项目中类内方法调用事务方法导致事务失效,因为this不被spring管理,要获取上下文代理对象去调用,就能执行事务。

4.bean的生命周期(印象不深)

5.bean的循环引用(类之间互为属性)-->三级缓存

需要对bean生命周期有了解,这里bean只构造出一个半成品,但是没有后面的初始化过程

?

一级缓存不能解决,一二级配合可以解决。

把二级缓存半成品A当成对象注入半成品B中,可以先完成一个单例B,这时候A也能完成了

5.1二级缓存解决一般循环引用

?

5.2 三级缓存可以解决代理对象循环依赖

5.3构造函数循环引用

文章来源:https://blog.csdn.net/m0_50973548/article/details/135187331
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。