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
自动扫描组件,默认扫描该注解标注的类所在的包下面的所有配置类。

posted @ 2021-11-29 17:16  梨猫南北  阅读(3296)  评论(0编辑  收藏  举报