第一种采用类路径的加载方式获取:
ApplicationContext ctx=new ClassPathXmlApplicationContext("classpath:application.xml");
此处的文件必须位于classpath路径中
第二种采用系统文件路径加载的方式获取:
ApplicationContext ctx=new FileSystemXmlApplicationContext("/application.xml");
此处的application.xml必须位于系统中一个具体的位置
第三种使用beanfactory加载配置信息:
Resource r=new ClassPathResource(""); 此处必须为classpath路径中
Resource res=new FileSystemResource("");必须为文件路径中
BeanFactory bf=new XmlBeanFactory(r);
使用BeanFactory从xml配置文件加载bean:
Java code
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.FileSystemResource;
public class XmlConfigWithBeanFactory {
public static void main(String[] args) {
XmlBeanFactory factory = new XmlBeanFactory(new FileSystemResource("build/beans.xml"));
}
}
使用ApplicationConText从xml配置文件加载bean:
Java code
public class XmlConfigWithApplication{
public static void main(String[] args){
ApplicationContext application = new ClassPathXmlApplicationContext(beans.xml"));
application.getBean("BeanName");
}}
ApplicationContext和BeanFacotry相比,提供了更多的扩展功能,但其主要区别在于后者是延迟加载, 如果Bean的某一个属性没有注入,BeanFacotry加载后,直至第一次使用调用getBean方法才会抛出异常; 而ApplicationContext则在初始化自身是检验,这样有利于检查所依赖属性是否注入; 所以通常情况下我们选择使用ApplicationContext. |
分享到:
相关推荐
Spring获取webapplicationcontext,applicationcontext几种方法详解
主要介绍了 Spring获取ApplicationContext对象工具类的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
主要为大家详细介绍了SpringBoot获取ApplicationContext的3种方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
applicationContext applicationContext
ApplicationContext及它的3种实现
applicationContext.xml 详细配置
bean加入spring容器管理的方式,bean加入applicationcontext容器的方式
applicationContext.xml详解
spring 获得applicationcontext公用方法
Spring applicationContext.xml常见部分属性的使用备注
applicationContext.xml完美配置
Spring中ApplicationContext加载机制
Spring配置文件ApplicationContext,内容齐全,有需要的可以下载。
Spring中ApplicationContext对事件传递
详解Spring的applicationContext.xml文件代码:
Spring中ApplicationContext和beanfactory区别.rar