1、是什么?
Spring是一个开源的框架,是为了解决企业级应用开发的复杂性而创建的。
简而言之,Spring是为简化Java开发而创建的。
2、如何简化开发?
为了降低java开发的复杂性,Spring采用了4中关键策略。
①基于POJO的轻量级和最小侵入性编程
②通过依赖注入和面向接口实现松耦合
③基于切面和惯例进行声明式编程
④通过切面和模板减少样板式代码
3、bean的生命周期
在传统的java应用中,bean的生命周期很简单。new关键字实例化,不用时被自动回收。
但在Spring容器中的bean的生命周期显得相对复杂。正确理解Spring bean的生命周期非常重要。
上图为bean在Spring容器中创建的若干阶段,每一个阶段都可以针对Spring如何管理bean进行个性化定制。
上述过程的具体描述:
①Spring对bean进行实例化
②Spring将值和bean的引用注入到bean对应的属性中
③如果实现了BeanNameAware接口,Spring会将bean的ID传递给setBeanName()方法
④如果实现了BeanFactoryAware接口,Spring会调用setBeanFactory方,将BeanFactory容器实例传入
⑤如果实现了ApplicationContextAware接口,Spring会调用setApplicationContext方法,将bean所在的上
下文引入进来
⑥如果实现了BeanPostProcessor接口,Spring会调用它的postProcessBeforeInitialization方法。
⑦如果实现了InitializingBean接口,Spring会调用它的afterPropertiesSet方法。
⑧如果实现了BeanPostProcessor接口,Spring会调用它的postProcessAfterInitialization方法。
⑨bean准备就绪
4、Spring组成