先总体看下spring的生命周期流程图,实现(继承)这些接口(抽象类)并在容器里注册,就可以看到bean的生命周期会按下面流程进行
1.通过XML,Java annotaion(注解) 以及Java Configuration(配置类) 等方式加载spring
2.BeanDefinitionReader:解析Bean的定义。在spring容器的启动过程中,会将Bean解析成Spring内部的BeanDefinition结构,有点类似于xml解析
3.BeanDefinition:包含了很多的属性和方法。列如:id,Class(类名),scope,ref(依赖的bean)等等。其实就是将bean的定义信息存储到这个对应Bean Definition相应的属性中
4.BeanFactoryPostProces是Spring容器功能的扩展接口
注意:BeanFactoryPostProcessor在Spring容器加载完BeanDefinition之与后Bean实例化之后执行的
5. BeanFactory:Bean工厂。按照我们的要求成产我们需要的各种各样的Bean
6. Aware感知接口:在实际开发中,经常需要用到Spring容器本身的功能资源
例如:BeanNameAware、ApplicationContextAware等等
BeanDefinition 实现了 BeanNameAware、ApplicationContextAware
7. BeanPostProcessor:后置处理器。在Bean对象实例化和引入注入完毕后,
在显示调用初始化方法的前后添加自定义的逻辑。(类似于AOP的绕环通知)
8. destory:销毁
版权声明:本文为qq_64230952原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。