
spring源码解析
文章平均质量分 87
零2一
这个作者很懒,什么都没留下…
展开
-
spring源码——模拟实现ioc和aop
spring源码——模拟实现ioc和aop原创 2020-03-15 15:27:33 · 209 阅读 · 0 评论 -
spring源码——循环依赖
循环依赖循环依赖其实就是循环引⽤,也就是两个或者两个以上的 Bean 互相持有对⽅,最终形成闭环。⽐如A依赖于B,B依赖于C,C⼜依赖于A。这⾥不是函数的循环调⽤,是对象的相互依赖关系。循环调⽤其实就是⼀个死循环,除⾮有终结条件Spring中循环依赖场景有:构造器的循环依赖(构造器注⼊)Field 属性的循环依赖(set注⼊)其中,构造器的循环依赖问题⽆法解决,只能拋出 Bean...原创 2020-01-08 17:42:09 · 377 阅读 · 0 评论 -
spring源码——aop源码解析
aop的实现原理:wrappedBean返回出去,判断循环所有的BeanPostProcessor,然后我们aop什么时候被加进来的后置处理器? @EnableAspectJAutoProxy中的@Import(AspectJAutoProxyRegistrar.class)AspectJAutoProxyRegistrar这个类实现了ImportBeanDefinitionRegistrar,...原创 2020-01-08 17:41:29 · 166 阅读 · 0 评论 -
spring源码——后置处理器
## 后置处理器Spring提供了两种后处理bean的扩展接⼝,分别为 BeanPostProcessor 和BeanFactoryPostProcessor,两者在使⽤上是有所区别的。⼯⼚初始化(BeanFactory)—> Bean对象在BeanFactory初始化之后可以使⽤BeanFactoryPostProcessor进⾏后置处理做⼀些事情在Bean对象实例化(并不是Bean的整个⽣命周期完成)之后可以使⽤BeanPostProcessor进⾏后置处理做⼀些事情注意:对象不⼀定是spr原创 2020-01-08 15:59:18 · 288 阅读 · 0 评论 -
spring源码——BeanFactory和FactoryBean的区别
BeanFactory和FactoryBean的区别BeanFactoryBeanFactory是spring当中提供的一个工厂,用来生产一个对象,通过getBean方法能够得到一个bean。FactoryBean如果你的类实现了FactoryBean,那么spring容器当中存在两个对象,一个是叫getObject()返回的对象,还有一个为当前对象,getObject得到的对象存的是当前...原创 2020-01-08 14:24:20 · 335 阅读 · 0 评论 -
设计模式:动态代理jdk和cglib
动态代理动态代理与静态代理相比没有过多的代理类,不需要每个业务都单独创建一个代理类,所有的代理方法都交给一个处理器来处理。常见的动态代理有两种:jdk动态代理和cglib动态代理jdk动态代理JDK动态代理是基于Java的反射机制实现的,只能对实现了接口的类生成代理,而不能针对类。IRentingHouse :/** * 接口:租房 * jdk动态代理/cglib动态代理 */...原创 2020-01-04 11:52:16 · 181 阅读 · 0 评论 -
设计模式:代理模式
代理模式代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。优点:职责清晰,真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作用。高扩展性静态代理:IRen...原创 2020-01-04 11:14:38 · 100 阅读 · 0 评论