0

我一直在努力让 Spring@Autowired在 Maven 测试中工作。当我在 IntellJ 中运行 JUnit 测试(没有尝试 Eclipse)时,它可以工作。但是当我运行 mvn clean install 时,JUnit 测试失败并出现以下错误

testApp(com.sample.spring.AppTest):创建名为“com.sample.spring.AppTest”的bean时出错:自动装配依赖项的注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:com.sample.spring.AppB com.sample.spring.AppTest.appB;嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有为依赖项找到类型为 [com.sample.spring.AppB] 的匹配 bean:预计至少有 1 个 bean 有资格作为此依赖项的自动装配候选者。依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}

我创建了一个自包含的示例项目,该项目始终表现出这种行为。我正在使用 Spring 3.1.1。我确信有人遇到了同样的问题并破解了它。寻找有关此问题的一些指示。

4

1 回答 1

1

这是构建路径问题:

在 Eclipse 中工作,我将您的 ContextConfiguration 更改为:

@ContextConfiguration(locations = "classpath:applicationContext.xml")

它与标准 eclipse runner 和 maven(maven 测试或 maven 安装)一起运行。

确保你有:

源/主/java

src/test/java 和

源/测试/资源

在构建路径中声明为源文件夹

于 2012-04-28T12:53:13.820 回答