我的web.xml中有以下内容:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext-*.xml</param-value>
</context-param>
我有2个文件:
部署应用时,我得到了
找不到依赖关系:[AServiceBean]类型的匹配bean:expected 至少有一个bean有资格作为autowire候选者 依赖性。
似乎找不到applicationContext-service.xml。如果我将它复制到web.xml旁边,它可以正常工作。我无法弄清楚为什么会这样。
服务器是Tomcat 6.
感谢任何帮助。 感谢。
修改
澄清:如果我使用
<param-value>
classpath:applicationContext-web.xml,
classpath:applicationContext-service.xml
</param-value>
应用程序部署没有任何问题,因此只需找到(或找不到)applicationContext-service.xml
答案 0 :(得分:3)
尝试使用classpath*:applicationContext-*.xml
(冒号前面有星号)。
然而,它可能无效,例如JBoss有问题,为了使它工作,你需要使用jboss中的一些特殊的类加载器。
此外,root中有一些problems using patterns。
无论如何,我建议避免使用模式,最好使用两个明确的applicationContext.xml
语句制作import
。
答案 1 :(得分:1)
您需要将配置文件放入类路径中。
WEB-INF/classess is the directory you need to place your configuration files
classpath:applicationContext-*.xml will then work
或类似于此,将它们保存在一个地方
WEB-INF/classes/spring
classpath:spring/applicationContext-*.xml
applicationContext-service.xml:如果已经存在于jar文件中,则无需复制此文件
示例main-config.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
<import resource="classpath:spring/config1.xml" />
<import resource="classpath:spring/config2.xml" />
.
.
<import resource="classpath:spring/configN.xml" />
</beans>