spring
spring的概念:
Spring是一个一站式轻量级的开源框架。有IOC和AOP两大核心功能。Spring可以出色的整合众多第三方开源的框架和类库。
spring IOC 和 I DI 的理解,它们有什么区别
***IoC *** nverse of Control 反转控制的概念,就是将原本在程序中手动创建
UserService 对象的控制权,交由 Spring 框架管理,简单说,就是创建
UserService 对象控制权被反转到了 Spring 框架
DI:Dependency Injection 依赖注入,在 Spring 框架负责创建 Bean 对象
时,动态的将依赖对象注入到 Bean 组件
spring 配置 n bean 实例化有哪些方式?
1)使用类构造器实例化(默认无参数)
2)使用静态工厂方法实例化(简单工厂模式)
下面这段配置的含义:调用 Bean2Factory 的 getBean2 方法得到 bean2
<bean id="bean3Factory" class="cn.itcast.spring.b_instance.Bean3Factory"></be
an>
<bean id="bean3" factory-bean="bean3Factory" factory-
method="getBean3"></bean>
3)使用实例工厂方法实例化(工厂方法模式)
<bean id="bean3Factory" class="cn.itcast.spring.b_instance.Bean3Factory"></be
an>
<bean id="bean3" factory-bean="bean3Factory" factory-
method="getBean3"></bean>
spring 的生命周期
①instantiate bean 对象实例化
②populate properties 封装属性
③如果 Bean 实现 BeanNameAware 执行 setBeanName
④如果 Bean 实现 BeanFactoryAware 或者 ApplicationContextAware 设置工
厂 setBeanFactory 或者上下文对象 setApplicationContext
⑤如果存在类实现 BeanPostProcessor(后处理 Bean) ,执行
postProcessBeforeInitialization,BeanPostProcessor 接口提供钩子函数,用来动态扩展修
改 Bean。(程序自动调用后处理 Bean)
⑥如果 Bean 实现 InitializingBean 执行 afterPropertiesSet
⑦调用 指定初始化方法 init
⑧如果存在类实现 BeanPostProcessor(处理 Bean) ,执行
postProcessAfterInitialization
⑨执行业务处理
⑩如果 Bean 实现 DisposableBean 执行 destroy
⑪调用 指定销毁方法 customerDestroy