课程链接:http://click.aliyun.com/m/51401/
在基于spring的应用中,应用对象生存于spring容器中,容器对象创建他们,装配他们,配置他们,管理他们整个生命周期,从生存到死亡。spring容器使用依赖注入管理构成应用的组件,他会创建相互协作的组件之间的关联。
Sprin自带的容器实现,可以归为两种不同的类型:
1.Bean工厂(由org.springframework.beans.factory.BeanFactory接口定义)是最简单的容器。
2.应用上下文 (由org.springframework.context.ApplicationContext接口定义)基于BeanFactory之上构建,并提供面向应用的服务。
Bean工厂对于大多数应用来说太低级了,因此上下文要比Bean工厂更受欢迎。
Spring自带的应用上下文类型:
1.ClassPathXmlApplicationContext-从类路径下的Xml配置文件中加载上下文定义,把应用上下文定义文件动作类资源;
2.FileSystemXmlapplicationContext---读取文件系统下的XML配置文件并加载上下文定义;
3XmlWebApplicationContext---读取Web应用下的XML配置文件并装载上下文定义。
使用FileSystemXmlApplicationContext和使用ClassPathXmlApplicationContext的区别在于:前者在指定的文件系统路径下查找配置文件,后者所有的类路径下(包含jar文件)查找配置文件。
Bean的生命周期:
传统的java应用,由java自动垃圾回收机制进行回收,相比之下,Spring容器中的Bean的生命周期就变得相对细腻的多。正确理解Spring Bean的生命周期非常重要,因为你或许要利用Spring提供的扩展点来自定义Bean的创建过程。如果bean实现了DisposableBean的接口,Spring将调用它的destroy接口方法,进行Bean的销毁。