当java bean配置位置从src / main / java更改为src / test / java时,autowired bean的NoSuchBeanDefinitionException

时间:2015-10-09 09:16:24

标签: spring junit spring-boot

我有一个现有的Spring启动应用程序,我正在添加junit tests。该项目在src / main / java文件夹中包含Configuration.java,其中包含bean配置。

当我在位置src / main中使用

引用配置文件时,在我的junit类中
  @SpringApplicationConfiguration(classes = Configuration.class) 

然后Autowired bean正确地初始化。但是,当我在src / test / java中复制相同的配置文件并使用Configuration

引用它时
 @SpringApplicationConfiguration(classes = TestConfig.class)

然后autowire bean无法初始化给出异常NoSuchBeanDefinitionException

它的配置相同的java文件。我自动装配的bean存在于src / main / java中。 bean配置java文件的位置是否会影响bean的初始化?如果是,如何解决?

注意:我正在将相同的配置java文件复制到src / test / java,因为我在测试时需要一些不同的属性。

1 个答案:

答案 0 :(得分:0)

我能够使用basepackage的{​​{1}}属性解决它,如下所示(在src / test / java的配置文件中已将包名属于src / main /中的包) JAVA)。

@ComponentScan