Spring的核心容器
spring框架分別提供了兩種核心容器,發(fā)別為BeanFactory和ApplicationContext。
BeanFactory
BeanFactory是基礎類型的IoC容器,他提供了完整的IoC服務支持,簡單來說,BeanFactory就是管理Bean的工廠。
創(chuàng)建BeanFactory實例時,需要提供Spring所管理容器的詳細配置信息,這些信息通常采用xml文件形式來管理,語法如下:
import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
public class learn {
public static void main(String[] args) {
BeanFactory beanFactory =new XmlBeanFactory("application.xml");
? ? }
}
ApplicationContext
ApplicationContext是BeanFactory的子接口,也被稱為應用上下文,他不僅有BeanFatory的所有功能,含添加了國際化、資深訪問,事件傳播,創(chuàng)建方法有兩種,如下:
1.通過ClassPathXmlApplicationContext( )(推薦使用這個)
public class learn {
public static void main(String[] args) {
ApplicationContext application =new ClassPathXmlApplicationContext("application.xml");
? ? }
}
2.通過FileSystemXmlApplicationContext( )
public class learn {
public static void main(String[] args) {
ApplicationContext application =new FileSystemXmlApplicationContext("application.xml");
? ? }
}
Web服務器實例化ApplicationContext容器時,通常會使用基于ContextLoaderListener實現(xiàn)的方式,只需在web.xml中添加如下代碼:
<context-param>
? ? <param-name>contextConfigLocation
? ? ? ? classpath:applicationContext.xml
</context-param>
<!--指定啟動Spring方式-->
<listener-class>
? ? ? ? ?org.springframework.web.context.ContextLoaderListener
</listener>