springboot注解扫描包的范围
springboot扫描包的范围的约定
SpringBoot的注解扫描的默认规则是从SpringBoot的项目入口类。若入口类所在的包是com.example.demo那么自动扫描包的范围是com.example.demo包及其下面的子包,如果service包和dao包不在com.example.demo下(包括多模块下的com.example.demo目录),则不会自动扫描。
手动配置Springboot另外的扫描包
@ComponentScan(“entity”)注解可以配置指定的扫描包范围
所以,多模块扫描最好启动项的路径不要太深,别的模块主模块前缀相同,就很容易全部扫描么,扫描完就是注解注入了。
springboot中@SpringBootApplication包含的三个注解及其含义
##@SpringBootConfiguration
读取配置文件,配置文件的路径是当前根目录(src/main/resources/application.yml等)
##EnableAutoConfiguration
开启自动配置,扫描当前的所有依赖的jar包,发现新的依赖出现将会将会根据依赖完各种自动配置(扫描start_web,自动配置内置tomcat默认路径、端口;依赖了rabbitmq,自动配置rabbitTemble)
##ComponetScan
属于Spring框架(@Component,@Service,@Controller,@Repository,@Entity),扫描范围默认情况下是启动类坐在的同名包及其子孙包