spring
1.动态代理
2.谈谈对spring的理解?spring有一个思想叫控制反转。原来的对象是由使用者来控制,有了spring之后,可以把整个对象交给spring来帮我们进行管理。还有就是DI:依赖注入,把对应的属性的值注入到具体的对象中,spring中@Autowired、populateBean完成属性的注入。
接下来是ioc容器:存储对象,使用map结构来存储,在spring中一般存在三级缓存,singletonObjects存放完整的bean对象,整个bean的生命周期,从创建到使用到销毁的过程全部都是容器来管理(bean的生命周期)
ioc分(论点):
1.1一般聊ioc容器的时候要涉及容器的创建过程(beanFactory,DefaultListableBeanFactory),向bean工厂中设置一些参数(BeanPostProcessor,Aware接口的子类)等待属性
1.2加载解析bean对象,准备要创建的bean对象的定义对象beanDefinition(xml或者注解的解析过程)
1.3beanFactoryPostProcessor的处理,此处是扩展点,placeHolderConfigurSupport,ConfigurationClassPostProcessor
1.4BeanPostProcessor的注册功能,方便后续对bean对象完成具体的扩展功能。
1.5通过反射的方式讲BeanDefinition对象实例化成具体的bean对象。
1.6bean对象的初始化过程(填充属性,调用aware子类的方法,调用BeanPostProcessor的前置处理方法,调用init-method方法,调用BeanPostProcessor的后置处理方法)
1.7生成完整的bean对象,通过getBean方法可以直接获取
1.8销毁过程

浙公网安备 33010602011771号