springboot 掃描不到包 @SpringBootApplication 自動配置原理


解決方案###

  • 在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 可以啟用自動配置報告


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM