读取Spring配置文件的位置

在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工程中与src平级的目录下
   */
    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();
    }
}

文章出处:http://blog.163.com/zsq303288862@126/blog/static/93745961201182011262267/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值