SpringBootApplication注解介绍
2023-12-28 02:51:24
SpringBootApplication是springboot启动类注解,是一个组合注解除了元注解外,主要包含三个注解;
- @SpringBootConfiguration
- @EnableAutoConfiguration
- @ComponentScan
一、@SpringBootConfiguration
其中@SpringBootConfiguration其实就是springboot对spring的@Configuration的再封装。
二、@ComponentScan
@ComponentScan是配置用于@Configuration类的组件包扫描的注解。可以指定basepackageclass或basePackages(或其别名值)来定义要扫描的特定包。如果没有指定特定的包,则将从声明该注释的类的包中进行扫描。
三、@EnableAutoConfiguration
@EnableAutoConfiguration来决定启用SpringBoot上下文的自动配置的注解。
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {
/**
* Environment property that can be used to override when auto-configuration is
* enabled.
*/
String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";
/**
* Exclude specific auto-configuration classes such that they will never be applied.
* @return the classes to exclude
*/
Class<?>[] exclude() default {};
/**
* Exclude specific auto-configuration class names such that they will never be
* applied.
* @return the class names to exclude
* @since 1.3.0
*/
String[] excludeName() default {};
}
其中@AutoConfigurationPackage 是用来指定自己实现的自动配置的包路径,如果没有指定基包或基包类,则注册带注释的类的包以及子包。
@Import(AutoConfigurationImportSelector.class)中,@Import表示导入bean 这里表示导入AutoConfigurationImportSelector这个类
AutoConfigurationImportSelector类中,下面的方法返回应该考虑的自动配置类名。
会拿到META-INF/spring.factories里面的配置来加载所指定的类,该类注入相关的bean到spring容器,从而实现自动配置。
文章来源:https://blog.csdn.net/m0_46561911/article/details/135254361
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!