【Java开发框架SpringBoot】@SpringBootApplication注解详解

@SpringBootApplication 详解

SpringBoot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用。

查看@SpringBootApplication源码

在这里插入图片描述
前四个注解:是元注解,用来修饰当前注解,就像public类的修饰词,没有实际功能。

1、@SpringBootConfiguration:SpringBoot的配置类

标记在某个类上,表示这是一个SpringBoot的配置类。 @SpringBootConfiguration继承自@Configuration,二者功能也一致,标注当前类是配置类,并会将当前类内声明的一个或多个以@Bean注解标记的方法的实例纳入到容器中,并且实例名就是方法名。

2、@EnableAutoConfiguration:开启自动配置功能,有了自动配置类,省去了我们手动编写配置注入功能组件等的工作。

以前我们需要配置的东西,SpringBoot会帮我们自动配置。@EnableAutoConfiguration告诉SpringBoot开启自动配置功能,这样自动配置才能生效。

查看@EnableAutoConfiguration源码

在这里插入图片描述
@AutoConfigurationPackage:将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到容器中。

@Import(AutoConfigurationImportSelector.class):Spring的底层注解,给容器导入组件。

AutoConfigurationImportSelector:导入哪些组件的选择器。
借助AutoConfigurationImportSelector,@EnableAutoConfiguration可以帮助SpringBoot应用将所有符合条件的配置以全类名的方式加载到当前SpringBoot创建并使用的容器。

扫描二维码关注公众号,回复: 12500476 查看本文章

在这里插入图片描述

SpringBoot在启动的时候从类路径下的META-INF/spring.factories中获取EnableAutoConfiguration指定的值,将这些值作为自动配置类加载到容器中,自动配置就生效,帮助我们自动配置工作。

在这里插入图片描述
J2EE的整体整合解决方案和自动配置都在这个包下。

3、@ComponentScan:自动扫描组件,即告诉spring该去哪里扫描bean。

在类上使用注解,如@Controller、@Component、@Configuration等这些注解,@ComponentScan会扫描带有这些注解的类并装入容器中。

总结

如果觉得不错,可以点赞+收藏或者关注下博主。感谢阅读!

猜你喜欢

转载自blog.csdn.net/weixin_42825651/article/details/109197425