![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 94
现实、太残忍
这个作者很懒,什么都没留下…
展开
-
【spring源码分析】spring bean的循环依赖问题
Bean的生命周期参考:https://blog.csdn.net/sumengnan/article/details/1137025271、三级缓存是什么?一级缓存(单例池):singletionObjects ConcurrentHashMap<beanName,bean对象> 二级缓存(早期单例对象):earlySingletionObjects HashMap<beanName,不完整bean对象>(主要用于解决循环依赖问题) 三级缓存(...原创 2021-02-21 14:53:30 · 270 阅读 · 1 评论 -
spring框架之ioc
概念ioc容器是具有依赖注入功能的容器,负责对象的实例化、初始化、对象和对象之间依赖关系处理、对象的销毁、提供对象查找等操作,对象的整个生命周期都是由容器来控制。我们需要使用的对象都是由ioc容器进行管理,直接从容器中获取即可,不需要通过手动new的方式去创建对象了。ioc容器支持两种配置xml文件格式。(ClassPathXmlApplicationContext) java注解方式。(AnnotationConfigApplicationContext)(1)关键的接口1、.原创 2021-02-05 23:02:25 · 328 阅读 · 0 评论 -
【spring源码分析】之bean的生命周期
流程图:共有13个阶段一、Bean元信息配置阶段Bean信息定义有4中方式API方式 Xml文件方式 Properties文件方式 注解方式API方式:是通过实现BeanDefinition接口的方式,具体的实现类有5种:RootBeanDefinition:根bean定义信息。表示没有父bean的bean ChildBeanDefinition:子bean定义信息。需要通过parentName属性来指定父bean GenericBeanDefinition.原创 2021-02-05 22:59:40 · 366 阅读 · 0 评论 -
spring事务管理及失效场景
一、编程式事务需要手动编程来实现事务,粒度可以控制到代码块级别(1)原始事务管理方式关键的三个接口:TransactionDefinition、PlatformTransactionManager、TransactionStatus1、TransactionDefinition(事务定义接口)默认实现类是DefaultTransactionDefinition。用于定义一个事务的静态属性。比如事务的传播行为、超时时间等。可以自定义类实现Transactiondefinition接口。原创 2021-01-15 00:52:43 · 451 阅读 · 0 评论 -
mysql事务隔离级别和spring Transaction事务传播
事务的ACID原则是什么?原子性(atomicity):最小且不可分割的。要么都执行,要么都不执行。 一致性(consistency):事务的执行使得数据库从一种正确状态转换成另一种正确状态 隔离型(isolation):各事务同步执行时,所获取的数据,不受其他事务的影响。 持久性(durability):事务提交之后,结果永远保存在数据库中。并发下事务会产生什么问题?脏读:事务A读取了事务B未提交的数据。 不可重复读:在同一个事务里面读取了两次某个数据,但是读出来的数据不一致。 幻读:原创 2021-01-14 21:26:51 · 167 阅读 · 0 评论 -
java使用spring aop切面编程
aop概念1、切面(Aspect)首先要理解‘切’字,需要把对象想象成一个立方体,传统的面向对象变成思维,类定义完成之后(封装)。每次实例化一个对象,对类定义中的成员变量赋值,就相当于对这个立方体进行了一个定义,定义完成之后,那个对象就在那里,不卑不亢,不悲不喜,等着被使用,等着被回收。面向切面编程则是指,对于一个我们已经封装好的类,我们可以在编译期间或在运行期间,对其进行切割,把立方体切开,在原有的方法里面添加(织入)一些新的代码,对原有的方法代码进行一次增强处理。而那些增强部分的代码,就被称之原创 2020-10-22 08:12:06 · 3471 阅读 · 0 评论 -
java使用spirng框架之spring security
spring security 核心功能认证 授权 攻击防护使用引入pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>有两种授权认证方式基于内存 基于数据库一、基于内存的认证1原创 2020-10-11 15:11:33 · 473 阅读 · 0 评论