Java maven项目中 spring加载多个xml文件

问题 加载多个xml文件  跨包加载

异常  UnsatisfiedDependencyException  依赖异常

NoSuchBeanDefinitionException  been定义异常


背景 : 我这边是一个maven项目   其中有一个后台线程任务main程序  这个程序是单独的一个包 以来多个层 service dao 等等

如果我要把他单独的分离出来,那么就需要解决加载到service里面的springxml文件和dao的springxml文件

首先因为加载xml只能加载一个对象 也就是说

ApplicationContext context

只能存在一个  后面一个后把前面的覆盖掉所以我们不能进行多次加载.

那么我这个后台线程又不是web项目,那么我就没有办法在web.xml进行运行时加载

最后的解决方案就是在我这个线程项目中的xml加上

<import resource="classpath*:spring*.xml" />
这个是个重点 是引用其他的包的xml   我这里使用了通配符

  • 同名资源存在时,classpath: 只从第一个符合条件的classpath中加载资源,而classpath*: 会从所有的classpath中加载符合条件的资源
  • classpath*:需要遍历所有的classpath,效率肯定比不上classpath,因此在项目设计的初期就尽量规划好资源文件所在的路径,避免使用classpath*来加载
  • spring*.xml 是让我加载所有已spring开头的xml文件
ok这样我照样正常的在我的main中使用 ClassPathXmlApplicationContext
就可以把所有引用的xml加载进来!
下面是一些我找的参考:




ClassPathXmlApplicationContext
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值