jar包中初始化Spring环境,报错找不到applicationContext.xml

本文深入探讨了Spring框架中ApplicationContext的配置方式,包括ClassPathXmlApplicationContext和FileSystemXmlApplicationContext的区别及使用方法。通过实例演示了如何正确配置ApplicationContext,并解决了打包为jar包时遇到的问题。

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

注意:

(1)ApplicationContext ctx=new ClassPathXmlApplicationContext()是从当前路径寻找,xml文件应在当前目录下。不过如果指定绝对路径也可以!
(2)用FileSystemXmlApplicationContext,它是根据指定的路径来进行寻找,所以要把路径写完整ApplicationContext ctx=new FileSystemXmlApplicationContext("src/applicationContext.xml");

说在前面:
(1)applicationContext.xml编译后直接在classpath下;
(2)使用这一行代码的类,假设在路径com/tran/下;

context = new ClassPathXmlApplicationContext("/applicationContext.xml");

如果这样在IDE中不会报错,但是打包成jar就会报错!因为它会在com/tran/下找applicationContext.xml文件,显然找不到!

context = new ClassPathXmlApplicationContext(BeanFactory.class.getResource("/")+"/applicationContext.xml");

换成这种绝对路径,jar包中可以找到!

另外;

context = new FileSystemXmlApplicationContext(BeanFactory.class.getResource("/")+"/applicationContext.xml");

也不会报错!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值