Spring之配置文件加载方式

来源:互联网 发布:java.util.arrays 编辑:程序博客网 时间:2024/05/16 07:44
Spring在org.springframework.core.io包中提供了多种配置文件加载方式。无论是XML、URL还是文件,都有很好的支持。比如基于URL的UrlResource、基于输入流的InputStreamResource、基于文件系统的FileSystemResource、基于应用classpath的ClassPathResource。开发者可以从不同位置、以不同方式加载Spring配置文件。

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

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

[java] view plaincopy
  1. //基于资源文件加载:  
  2. Resource resource = new ClassPathResource("appcontext.xml");  
  3. BeanFactory factory = new XmlBeanFactory(resource);  
  4.   
  5. //基于流文件加载:  
  6.     InputStream in = new FileInputStream("appcontext.xml");  
  7. BeanFactory factory = new XmlBeanFactory(in);  

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

[java] view plaincopy
  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;  
 
    
    三 : 文件系统的加载方式
[java] view plaincopy
  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工程定制的。
 
[java] view plaincopy
  1. ServletContext servletContext = request.getSession().getServletContext();  
  2.  ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext ); 
原创粉丝点击