读取spring配置文件的位置

文章转自:http://blog.163.com/zsq303288862@126/blog/static/93745961201182011262267/

在spring 中 ,我们可以从项目的不同的文件位置读取spring 配置文件,相关位置有四种情况:

1> 在 源代码 src或与src 平齐的目录下

2> 在 WEB-INF 目录下,相对于WEB 工程

3> 在 源代码 src或src 的包下

4> 在 任意位置

相关代码如下:

import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.FileSystemResource;
import org.springframework.core.io.Resource;
import org.springframework.web.context.support.XmlWebApplicationContext;

public class ReadSpringContext {
/**
   * 读取spring配置文件的位置,在工作目录下<p>
   * 在eclipse工程中与工程名同级目录
   */
    public static ApplicationContext readFromProject(String xml) {
        //ApplicationContext context = new FileSystemXmlApplicationContext("one.xml");
        //UserBean ub = (UserBean)context.getBean("ub");
        //System.out.println(ub.getUid());
        return new FileSystemXmlApplicationContext(xml);
    }
    
    /**
    * 读取spring配置文件的位置,在web-inf目录
    */
    public static ApplicationContext readFromWebinf() {
        //ApplicationContext context = new XmlWebApplicationContext();        
        //UserBean ub = (UserBean)context.getBean("ub");
        //System.out.println(ub.getUid());
        return new XmlWebApplicationContext();
    }
/**
   * 读取spring配置文件的位置,在src或包目录
   */
    public static ApplicationContext readFromSrc(String xml) {
        //ApplicationContext context = new ClassPathXmlApplicationContext("one.xml");
        //ApplicationContext context = new ClassPathXmlApplicationContext("accp/y2/bean/one.xml");
        //UserBean ub = (UserBean)context.getBean("ub");
        //System.out.println(ub.getUid());
        return new ClassPathXmlApplicationContext(xml);
    }
    /**
    * 从任意位置读取spring配置文件
    */
    public static BeanFactory readFromAny(String xml) {
        //Resource rs=new FileSystemResource("d:/_temp/one.xml");
        //BeanFactory factory=new XmlBeanFactory(rs);
        //ApplicationContext context = new GenericApplicationContext();
        //Resource resource = context.getResource("file:d:/_temp/one.xml");
        //BeanFactory factory = new XmlBeanFactory(resource);
        //UserBean ub = (UserBean)factory.getBean("ub");
        //System.out.println(ub.getUid());
        Resource rs=new FileSystemResource(xml);
        return new XmlBeanFactory(rs);
    }
    
    public static void main(String[] args) {
        //readFromSrc();
        //readFromProject();
        //readFromAny();
        //readFromWebinf();
    }
}

猜你喜欢

转载自hbiao68.iteye.com/blog/1609896