• 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 可以启用自动配置报告
  • 相关阅读:
    super与this的比较
    队列学习小结
    最左原则
    show processlist
    循环
    打印偶数
    发布模块
    eval函数
    文件
    模块
  • 原文地址:https://www.cnblogs.com/eatandsleep/p/12193557.html
Copyright © 2020-2023  润新知