Spring-Boot(二) 启动类详解
在已搭建的SpringBoot项目中,即使没有创建任何的类,该项目也是可以正常启动的,因为其已经创建了一个启动类,也就是项目的入口。
上述代码中有一个注解:@SpringBootApplication
- @SpringBootApplication
通过@SpringBootApplication注解的源码可以发现,其源码中有三个特殊注解@SpringBootConfiguration
、@EnableAutoConfiguration
和@ComponentScan
,而@SpringBootApplication
注解其实就是一个组合注解,主要就是将上述的三个注解的功能组装到待一起使用。了解了上述的三个注解的作用,那么就清楚@SpringBootApplication
的具体作用了。
@SpringBootConfiguration
该注解是一个类级别的注解,提示被注解的类提供了应用程序配置,即标注当前类是配置类。该注解会将当前类中声明的一个或者多个@Bean
注解标注的方法的实例纳入Spring容器中,并且实例名就是方法名。
@EnableAutoConfiguration
该注解同样是一个类级别注解,其作用是启动自动配置,帮助SpringBoot将所有符合条件的配置加载到SpringBoot创建并且使用的Ioc容器中。
首先@AutoConfigurationPackage
注解的作用是将被该注解的类所在的package作为自动配置package进行管理。
其次@Import(AutoConfigurationImportSelector.class)
的作用是使用Import自动导入所有符合自动配置条件的Bean定义并加载到IOC容器。
AutoConfigurationImportSelector
类,自动配置导入查找,主要是为了在启动时加载SpringBoot的配置文件。
@ComponentScan
自动扫描组件,默认扫描该注解标注的类所在的包下面的所有配置类。
学习是一个循序渐进的过程