文档介绍:spring in action
一、开始spring之旅
理解反向控制(IOC)
依赖注入:比IOC更好的名字。获得依赖对象的
方式反转了。
IOC应用
理解AOP
二、装配Bean
bean工厂:最简单的容器,提供了基础的依赖
注入支持。创建各种类型的Bean.
应用上下文:建立在bean工厂基础之上,提供系
统架构服务。
二、装配Bean
容纳你的bean
bean工厂介绍
工厂设计模式,创建分发各种bean。配置好它们之
间的写作关系,参与bean的生命周期。
BeanFactory factory = new XmlBeanFactory(
new FileInputStream(“”));
bean工厂只把bean的定义信息载进来,用到的时候
才实例化。
(“mybean”);就可得到一个
bean。
二、装配Bean
容纳你的bean
使用应用上下文
ApplicationCotext,spring更加高级的容器。功能
强大:
,包括对国际化支持。
,如图片。
。
在很少的情况下,使用BeanFactory,如在移动设
备。
二、装配Bean
容纳你的bean
使用应用上下文(续)
三种经常用到的实现:
:从类路径中加载。
:从文件系统加载。
:从web系统中加载。
二、装配Bean
容纳你的bean
使用应用上下文(续)
ApplicationContext context =
new FileSystemXmlApplicationContext(“
c:\”);
ApplicationContext context =
new ClassPathXmlApplicationContext(“
”);
二、装配Bean
容纳你的bean
使用应用上下文(续)
除了应用上下文提供的附加功能外,应用上下文
与bean工厂的另一个重要区别是关于单例bean
如何被加载。
bean工厂延迟加载所有bean,直到getBean()
方法被调用。
保应用不需要等待他们被创建。
二、装配Bean
容纳你的bean
bean的生命周期
bean被载入到容器中时,他的生命周期就开始
了。bean工厂在一个bean可以使用前完成很多
工作:
。
,spring按bean定义信息配置bean的所有属性。
,工厂调用Bean的setBeanName
()方法传递bean的ID。
,工厂调用setBeanFactory()
方法传入工厂自身。
,则它们的
postProcessBeforeInitialization()方法被调用。
-method方法、,它将被调用。
,若有BeanPostProcessor和bean关联,则它们的
postProcessAfterInitialization()方法被调用、。
二、装配Bean
容纳你的bean
bean的生命周期(续)
将bean从工厂中删掉有两种方法:
,
distroy()方法被调用。
,就调用这个方法。
bean在应用上下文中的生命周期和在bean工厂
的生命周期唯一不同的是:若bean实现了
ApplicationContextAware()接口,
setApplicationContext()方法会被调用。