《Spring实战》读书笔记
目的:简化Java开发完成目标:松耦合基于POJO的轻量级和最小侵入性编程通过依赖注入和面向接口实现松耦合可复用基于切面进行声明式编程(AOP)通过模板消除样板式代码(JDBC Template)Spring容器分类:BeanFactoryApplicationContextbean的生命周期Spring对bean进行实例化Spring
·
目的:简化Java开发
完成目标:
- 基于
POJO的轻量级和最小侵入性编程 - 通过依赖注入和面向接口实现松耦合
- 基于切面和惯例进行声明式编程(
AOP) - 通过切面和模板消除样板式代码(
JDBC Template)
Spring容器
负责创建对象,装配它们,配置它们并管理它们的整个生命周期,从生存到死亡。
分类:
BeanFactoryApplicationContext
bean工厂(由org.springframework. beans.factory.BeanFactory接口定义)是最简单的容器,提供基本的DI支持。
应用上下文(由org.springframework.context.ApplicationContext接口定义)基于BeanFactory构建,并提供应用框架级别的服务。
bean的生命周期
Spring对bean进行实例化;Spring将值和bean的引用注入到bean对应的属性中;- 如果
bean实现了BeanNameAware接口,Spring将bean的ID传递给setBeanName()方法; - 如果
bean实现了BeanFactoryAware接口,Spring将调
用setBeanFactory()方法,将BeanFactory容器实例传入; - 如果
bean实现了ApplicationContextAware接口,Spring将调
用setApplicationContext()方法,将bean所在的应用上下文的
引用传入进来; - 如果
bean实现了BeanPostProcessor接口,Spring将调用它们
的postProcessBeforeInitialization()方法; - 如果
bean实现了InitializingBean接口,Spring将调用它们的afterPropertiesSet()方法。类似地,如果bean使用init-method声明了初始化方法,该方法也会被调用; - 如果
bean实现了BeanPostProcessor接口,Spring将调用它们
的postProcessAfterInitialization()方法; - 此时,
bean已经准备就绪,可以被应用程序使用了,它们将一直
驻留在应用上下文中,直到该应用上下文被销毁; - 如果
bean实现了DisposableBean接口,Spring将调用它的destroy()接口方法。同样,如果bean使用destroy-method声明
了销毁方法,该方法也会被调用。
Spring框架由20个不同的模块组成,这些模块依据其所属的功能可以划分为6类不同的功能。
- Spring核心容器
- Spring的AOP模块
- 数据访问与集成
- Web与远程调用
- Instrumentation
- 测试
更多推荐




所有评论(0)