有哪些注入方式?
1,构造器注入
2,setter方法注入
Spring 中 bean 的作用域有哪几种?
1,singleton:单例模式
2,prototype:多个实例
3,requert:每次http请求都会创建一个bean
4,session:每个http session都会创建一个bean
5,global-session:全局的http session中只有一个bean
Spring bean 的生命周期
1,实例化 BeanFactoryPostProcessor 实现类
2,执行 BeanFactoryPostProcessor 的 postProcessBeanFactory 方法
3,实例化 BeanPostProcessor 实现类
4,实例化 InstantiationAwareBeanPostProcessorAdapter 实现类
5,执行 InstantiationAwareBeanPostProcessor 的 postProcessBeforeInstantiation 方法
执行 bean 的构造器
6,执行 instantiationAwareBeanPostProcessor 的 postProcessPropertyValues 方法
7,bean 注入属性
8,调用 BeanNameAware 的 setBeanName 方法
9,调用 BeanFactoryAware 的 setBeanFactory 方法
10,执行 BeanPostProcessor 的 postProcessBeforeInstantiation
11,执行 InstantiationAwareBeanPostProcessor 的 postProcessAfterInitialization 方法
12,容器初始化成功,执行正常调用后,开始销毁容器
13,调用 DiposibleBean 的 destory 方法
14,调用 bean 配置中 destory-method 指定的方法
自动装配的方式有哪几种?
1,no:默认不进行自动装配,通过显示ref配置进行装配
2,byName:通过参数名自动装配
3,byType:通过参数类型自动装配
4,constructor:根据构造方法的参数,通过byType自动装配
5,autodetect:先尝试constructor装配,不成功的话再使用byType装配