spring
程序员--卢先生
纯属个人见解~
展开
-
spring--BeanDefinition
java中的类的数据结构信息存储在每个对应的Class对象中,而spring将扫描或解析xml的bean信息存储在BeanDefinition,每个bean对应一个BeanDefinition。BeanDefinition里面记录了每个bean的基本信息包括是否单例、作用域、是否抽象(spring允许普通类被定义成抽象类型)、是否懒加载等。 继承结构图如下: spring中注册BeanD...原创 2019-09-01 22:53:35 · 119 阅读 · 0 评论 -
spring--解决循环依赖
首先看下spring创建一个bean的简单流程,假如beanA引用beanB,beanB引用beanA,spring在初始化beanA的时候会造成循环依赖(这里讲的是单例,spring底层只对单例循环依赖进行解决)。 在记录之前我写了两个测试类进还原循环依赖,一个是ClassA,里面的引用了ClassB,同时ClassB也引用了ClassA。这样子ClassA和ClassB...原创 2019-09-02 09:55:30 · 281 阅读 · 0 评论 -
spring--BeanPostProcesstor
beanFactoryPostProcesstor和BeanPostProcessor是spring的钩子函数,是spring的bean初始化对外暴露的扩展点。 BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口。 如图,我们可以看到BeanPostProcessor提供了两个接口回调。当BeanPostProcessor的实现类注册到spring ioc容器中...原创 2019-09-03 08:16:33 · 624 阅读 · 0 评论