spring容器是什么
spring容器,其实就是注入数据。或者说是,
1、控制反转。
2、依赖注入。
先有人叫它控制反转容器,后来有人觉得它太拗口,又给了它一个新的名字叫依赖注入。不管叫什么,其实都是一样,目的都是为了注入数据(Bean也是数据)。
spring容器,由ApplicationContext这个类来表示
spring容器,由ApplicationContext这个类来表示。那么,如何获取应用程序上下文呢?
答:分2种应用场景,
一、java程序
有2种方法来获取,
1)从磁盘
2)从类路径
二、java web程序
有4种方法来获取,
1)从磁盘
2)从类路径
3)从web应用程序的配置文件。 //以上3种,是采用编程方式创建ApplicationContext
4)可利用如ContextLoader得支持类,在Web应用启动时自动创建ApplicationContext。 //这种方式是采用配置方式自动创建应用程序上下文对象:在配置文件里,配置ContextLoaderListener
<listener>
<description>spring监听器</description>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
ApplicationContext与BeanFactory的区别
1、ApplicationContext是继承与BeanFactory的,在功能支持方面也是基于BeanFactory的。换句话说,BeanFactory支持的功能(即管理Bean的生命周期,即Bean的创建、注入、销毁,获取等),ApplicationContex也都支持,而且ApplicationContext还提供了其他的更多的功能(比如,国际化等等,参考http://www.mianwww.com/html/2009/08/3486.html)。
2、由于ApplicationContext包含了BeanFactory支持的功能,所以一般情况下不使用BeanFactory,而是使用ApplicationContext。
附:ApplicationContext与BeanFactory的继承图(http://blog.csdn.net/zl3450341/article/details/9290671)