找不到Spring配置

时间:2011-12-06 14:47:26

标签: spring configuration applicationcontext

我的web.xml中有以下内容:

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext-*.xml</param-value>
</context-param>

我有2个文件:

  • web.xml中的application-text-web.xml在web.xml旁边
  • myapp-service.jar中的applicationContext-service.xml

部署应用时,我得到了

  

找不到依赖关系:[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

2 个答案:

答案 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>