解决问题:
什么是扫包?
SpringBoot的入口函数?
SpringBoot包扫描的注解?
1. 什么是扫包?
什么是扫包?就是发现Service,Controller,Component然后自动注入到Spring容器中。
2. SpringBoot的入口。
SpringBoot的入口和常见的java程序一样都是main()函数。
public static void main(String[] args) { SpringApplication.run(ProviderApplication.class, args); }
3. 启动方式
SpringBoot启动,指的是SpringBoot找到项目的入口,然后把Component、Controller、Service注入到Spring容器中。
3.1 SpringBoot的启动方式一(通过@SpringBootApplication注解、)
@SpringBootApplication public class ProviderApplication { public static void main(String[] args) { SpringApplication.run(ProviderApplication.class, args); } }
备注:
SpringBootApplication注解:负责启动SpringBoot项目。这个注解实现了扫描包的功能,扫描范围是该文件所在的当前目录和同级目录。
3.2 SpringBoot的启动方式二(通过@EnableAutoConfiguration注解)
@EnableAutoConfiguration @ComponentScan("需要扫描包的包名") public class Application { public static void main(String[] args){ SpringApplication.run(Application.class, args); } }
备注:
@EnableAutoConfiguration默认的扫包范围是当前类中。
@ComponentScan可以指定扫包范围。
结论,@SpringBootApplication注解等于@EnableAutoConfiguration注解加上@ComponentScan注解。