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