解决方案
在main类中增加注解
- @ComponentScan("com.test.test.*") 扫描具体的包
- @ComponentScan(basePackages = {"com.test.test"}) 扫描父类之后的包
SpringBoot的启动类最好是放在root package下
原因
@SpringBootApplication : 是Sprnig Boot项目的核心注解,目的是开启自动配置,扫描加载类信息
@ComponentScan
- 功能:自动扫描并加载符合条件的组件加载到IOC容器中
- 扫描范围:@ComponentScan所在类的package进行扫描,也就是启动类的包。basePackages属性细粒度的定制自动扫描的范围
@EnableAutoConfiguration
- @AutoConfigurationPackage 导入扫描包信息
- @Import(AutoConfigurationImportSelector.class) 扫描 spring INF-META/spring-factory 扫描需要配置的XXAutoConfiguration
XXAutoConfiguration类中注入组件
- @Configuration
- @Bean
- @Condition 自动配置类在一定条件下生效
- @ConfigurationProperties 映射 XXproperties类中封装了 XX的环境变量
在配置文件中设置 debug = true 可以启用自动配置报告