spring
Mercuriooo
这个作者很懒,什么都没留下…
展开
-
Spring一些零碎的知识点总结
注解工作原理 个反射注解的工作原理: 首先,我们通过键值对的形式可以为注解属性赋值,像这样:@Hello(value = “hello”)。 接着,你用注解修饰某个元素,编译器将在编译期扫描每个类或者方法上的注解,会做一个基本的检查,你的这个注解是否允许作用在当前位置,最后会将注解信息写入元素的属性表。 然后,当你进行反射的时候,虚拟机将所有生命周期在 RUNTIME 的注解取出来放到一个 ma...原创 2020-03-29 20:59:39 · 274 阅读 · 0 评论 -
spring中的设计模式
单例模式 spring中bean可以是singleton,也可以是prototype concurrentHashmap专门存放singleton // 单例注册表 private final Map<String, Object> singletonObjects = new ConcurrentHashMap<String, Object>(64); public O...原创 2020-03-29 20:49:19 · 265 阅读 · 0 评论 -
spring事务的实现原理
先来看看这张图,spring中有很多事务管理的接口,最重要的就这三大块 Transanction Definition用来定义事务的一些属性(事务的传播行为隔离级别什么的) PlatformTransanctionManager接口,用来定义事务管理器 TransanctionStatus用来记录事务当前的状态(完成了没啊之类的) 这三个接口都在org.springframework.tra...原创 2020-03-29 19:46:49 · 730 阅读 · 0 评论 -
spring事务传播机制
事务传播定义 方法A中用到了方法B,然后在方法A中使用方法B时,事务形式的变化就是事务传播(听起来太抽象了还是直接看下下面的????吧) 事务传播类型 PROPAGATION_REQUIRED B在A中被调用 如果A不是事务,就新创建一个事务来执行B 如果A是事务,就直接在A事务本身中执行 PROPAGATION_REQUIRES_NEW B在A中被调用,不管A本身是不是事务,都必须创建一个新的事务...原创 2020-03-28 11:50:37 · 341 阅读 · 0 评论 -
spring中循环依赖的解决--三级缓存
一、循环依赖的产生和解决的前提 循环依赖的产生可能有很多种情况,例如: A的构造方法中依赖了B的实例对象,同时B的构造方法中依赖了A的实例对象 A的构造方法中依赖了B的实例对象,同时B的某个field或者setter需要A的实例对象,以及反之 A的某个field或者setter依赖了B的实例对象,同时B的某个field或者setter依赖了A的实例对象,以及反之 Spring对于循环依赖的解决...原创 2020-03-28 11:00:31 · 1100 阅读 · 0 评论