...中的字段属性需要一个无法找到的类型为bean的bean

时间:2017-03-29 15:16:09

标签: java spring spring-boot component-scan

我有以下项目结构:
enter image description here

ApplicationConfiguration:

@Configuration
@ComponentScan(basePackages = {"configuration", "nsd"})  //<- base packages here
public class ApplicationConfiguration {
}

ApplicationProperties

@Component
@EnableConfigurationProperties
public class ApplicationProperties {
 ...

MyRestController

@RestController
public class MyRestController {  
    @Autowired
    private ApplicationProperties properties;  // <-- could not autowire
    ...

当我开始申请时,我看到:

  

***************************申请失败

           

说明

     

nsd.MyRestController中的字段属性需要一个类型的bean   &#39; configuration.ApplicationProperties&#39;无法找到。

     

动作:

     

考虑定义类型为&#39; configuration.ApplicationProperties&#39;的bean。   在你的配置中。

我不明白为什么。 ComponentScan在配置类中提供。

如何解决这个问题?

更新

如果将ApplicationProperties移动到nsd包 - 上下文正确但我仍然不明白为什么它不能从旧包中运行

0 个答案:

没有答案