@SpringBootApplication的默认扫描范围
在练习springsecurity中,突然发现spring的自动配置失效,需要手动的在主应用程序类添加@ComponentScan才可以扫描到.
然后排查发现idea自动在根路径创建一个springbootsecuritydemo目录,并把主应用程序类存在里边.
搜索网络博客发现同样问题,把主应用程序类放在根目录就可以解决问题.
但是为什么呢?
最能解决疑问的就是官方文档:
We generally recommend that you locate your main application class in a root package above other classes.
翻译:
我们通常建议您将主应用程序类放置在根包中,置于其他类之上。
我们看到
spring建议我们把主应用程序类放在根目录,默认扫描本包及子包下的注解.
由此,问题解决.