Spring中ClassPathXmlApplication与FileSystemXmlApplicationContext的区别以及ClassPathXmlApplicationContext 的具...

本文介绍了Spring框架中两种常见的上下文加载方式:ClassPathXmlApplicationContext和FileSystemXmlApplicationContext。详细展示了如何通过不同路径指定配置文件来初始化Spring容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、ClassPathXmlApplicationContext 的具体路径


String s[] = System.getProperty("java.class.path").split(";");
for (String string : s) {
System.out.println(string);
}

排除掉lib以及C盘的,最后指向的是 ../target/classes/


所以把spring的xml放到main/resources下,Build-->make project(ctrl+F9)一下,即可在target生成,这时候使用以下语句就可以了
ApplicationContext bf = new ClassPathXmlApplicationContext("applicationContext.xml");

二、ClassPathXmlApplicationContext 使用方法
public void testBean(){
    //单配置文件方式一
    BeanFactory beanFactory=new ClassPathXmlApplicationContext("applicationContext.xml");
    
    //单配置文件方式二
    BeanFactory beanFactory=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
    
    //多个配置文件
    BeanFactory beanFactory=new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
    
    //绝对路径需加“file:”前缀
    BeanFactory beanFactory = new ClassPathXmlApplicationContext("file:E:\Workspace\idea_workspace\spring\springtest\src\main\resources\applicationContext.xml");

    TestBean bean= (TestBean) beanFactory.getBean("testBean");
    assertEquals("testStr",bean.getTestStr());
}

  

三、FileSystemXmlApplicationContext使用方法
public void testBean(){
//项目根目录 BeanFactory beanFactory=new FileSystemXmlApplicationContext("applicationContext.xml");
    //classes目录
    BeanFactory beanFactory=new FileSystemXmlApplicationContext("classpath:applicationContext.xml");

    //项目路径相对路径
    BeanFactory beanFactory=new FileSystemXmlApplicationContext("src\\main\\resources\\applicationContext.xml");

    //多配置文件
    BeanFactory beanFactory=new FileSystemXmlApplicationContext(new String[]{"src\\main\\resources\\applicationContext.xml"});

    //绝对目录
    BeanFactory beanFactory=new FileSystemXmlApplicationContext(new String[]{"E:\\Workspace\\idea_workspace\\spring\\springtest\\src\\main\\resources\\applicationContext.xml"});

    TestBean bean= (TestBean) beanFactory.getBean("testBean");
    assertEquals("testStr",bean.getTestStr());
}

  




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值