Spring的核心容器
spring框架分别提供了两种核心容器,发别为BeanFactory和ApplicationContext。
BeanFactory
BeanFactory是基础类型的IoC容器,他提供了完整的IoC服务支持,简单来说,BeanFactory就是管理Bean的工厂。
创建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的所有功能,含添加了国际化、资深访问,事件传播,创建方法有两种,如下:
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实现的方式,只需在web.xml中添加如下代码:
<context-param>
<param-name>contextConfigLocation
classpath:applicationContext.xml
</context-param>
<!--指定启动Spring方式-->
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener>