Spring之配置文件加载方式

spring在org.springframework.core.io包中提供了多种配置文件加载方式。无论是XML、URL还是文件,都有很好的支持。比如基于URL的UrlResource、基于输入流的InputStreamResource、基于文件系统的FileSystemResource、基于应用classpath的ClassPathResource。开发者可以从不同位置、以不同方式加载Spring配置文件。

常用的集中配置文件加载方式:

一:XmlBeanFactory 加载方式。此方式常用于应用程序,如swt、applet等。

//基于资源文件加载:  
Resource resource = new ClassPathResource("appcontext.xml");  
BeanFactory factory = new XmlBeanFactory(resource);  
  
//基于流文件加载:  
InputStream in = new FileInputStream("appcontext.xml");  
BeanFactory factory = new XmlBeanFactory(in);  

 二:ApplicationContext加载方式。此方式常用于J2EE程序。

 1 ApplicationContext context=new classPathXmlApplicationContext("classpath:appcontext.xml");  
 2  BeanFactory factory = (BeanFactory)context;  
 3   
 4  // src目录下的  
 5  ApplicationContext context=new ClassPathXmlApplicationContext("appcontext.xml");      
 6  BeanFactory factory = (BeanFactory)context;  
 7   
 8   // src/conf 目录下的  
 9  ApplicationContext context=new ClassPathXmlApplicationContext("conf/appcontext.xml");     
10  BeanFactory factory = (BeanFactory)context;  
11  //绝对路径  
12  ApplicationContext context=new ClassPathXmlApplicationContext("file:G:/Test/src/appcontext.xml");  
13  BeanFactory factory = (BeanFactory)context;  

三 : 文件系统的加载方式

1 ApplicationContext factory=new FileSystemXmlApplicationContext("src/appcontext.xml");  
2 //使用了  classpath:  前缀,作为标志,  这样,FileSystemXmlApplicationContext 也能够读入classpath下的相对路径  
3 ApplicationContext factory=new FileSystemXmlApplicationContext("classpath:appcontext.xml");  
4 ApplicationContext factory=new FileSystemXmlApplicationContext("file:G:/Test/src/appcontext.xml");  
5 ApplicationContext factory=new FileSystemXmlApplicationContext("G:/Test/src/appcontext.xml");  

四: XmlWebApplicationContext   是专为Web工程定制的。

1 ServletContext servletContext = request.getSession().getServletContext();  
2 ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext ); 
原文地址:https://www.cnblogs.com/acmwangpeng/p/5981463.html