Spring是一个开源框架,最根本的使命就是:简化java开发。 依赖注入和AOP是Spring框架最核心的部分。
Spring的四种关键性策略:
1.基于POJO的轻量级和最小侵入性编程;
2.通过依赖注入和面向接口实现松耦合;
3.通过切面和惯例进行声明式编程;
4.通过切面和模版减少样板式代码;
Bean的生命周期:
1. Spring对bean进行实例化;
2. Spring将值和bean的引用注入到bean对应的属性中;
3.如果bean实现了Beannameaware接口, Spring将bean的ID传递给setbean-Name()方法;
4.如果bean实现了Beanfactoryaware接口, Spring将调用setbeangactory()方法,将Beanfactory容器实例传入;
5.如果bean实现了Applicationcontextaware接口,Spring将调用setapplicationcontext()方法,将bean所在的应用上下文的引用传入进来;6.如果bean实现了Beanpostprocessor接口, Spring将调用它们的post- Processbeforeinitialization()方法;
7.如果bean实现了Initializingbean接口, Spring将调用它们的after- Propertlesset()方法。类似地,如果bean使用init- method声明了初始化方法,该方法也会被调用;
8.如果bean实现了Beanpostprocessor接口, Spring将调用它们的post Processafterinitialization()方法;
9.此时,bean已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中,直到该应用上下文被销毁;
10.如果bean实现了Disposablebean接口, Spring将调用它的destroy()接口方法。同样,如果bean使用destroy- method声明了销毁方法,该方法也会被调用。