maven + surefire插件和Spring @Autowired的问题



我一直在让 Spring @Autowired 在 maven 测试中工作。当我在IntellJ中运行JUnit测试(没有尝试Eclipse(时,它可以工作。但是当我运行 mvn 全新安装时,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有资格作为此依赖项的自动连线候选项。Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true(}

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

这是一个构建路径问题:

在日食中工作,我将上下文配置更改为:

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

它与标准 Eclipse Runner 和 Maven(Maven Test 或 Maven install(一起运行。

确保您有:

src/main/java

src/test/java 和

src/test/resources

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

最新更新