springboot不需要配置包扫描,是包自动扫描的,那是如何起作用的呢?
原理:
1.确定启动类的位置,springboot会自动加载启动类1.所在包 2.及其启动类下的子包的所有注解组件
2.但是启动类上层文件夹(即其父类包中的组件和注解并不会自动扫描加载)
这就衍生出一个问题,如何控制扫描的文件夹呢,如同springmvc那样
原始的启动类内容如下:
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
可以在springboot启动类注解上加上扫描的文件夹,如下:
@SpringBootApplication(scanBasePackages = "com.atguigu")--->加上scanBasePackages="扫描的文件夹"
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class, args);
}
}
![](https://img2022.cnblogs.com/blog/1349485/202205/1349485-20220511212506026-1946169099.png)