@SpringBootApplication注解到底做了什么,你真的了解吗?

   日期:2020-04-29     浏览:118    评论:0    
核心提示:@SpringBootApplication@Target(ElementType.TYPE)@Rejava

@SpringBootApplication

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = {
		@Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
		@Filter(type = FilterType.CUSTOM,
				classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@AutoConfigurationPackage
@Import(AutoConfigurationImportSelector.class)
public @interface EnableAutoConfiguration {

	String ENABLED_OVERRIDE_PROPERTY = "spring.boot.enableautoconfiguration";

	
	Class<?>[] exclude() default {};

	
	String[] excludeName() default {};

}

注意到AutoConfigurationImportSelector类

返回AutoConfigurationImportSelector.AutoConfigurationEntry基础上, AnnotationMetadata import的@Configuration类。

  • autoConfigurationMetadata - 自动配置的元数据

  • annotationMetadata - 配置类的注释元数据
    返回:应导入自动配置

  • 获得配置
    返回应该被视为自动配置类名。 默认情况下,此方法将使用加载候选人SpringFactoriesLoader与getSpringFactoriesLoaderFactoryClass()

  • 元数据 - 源元数据

  • 属性-将annotation attributes
    返回:候选配置列表
    看下其中的断言中指定的

META-INF/spring.factories

为我们实现了很多自动装配

我们随便看下这个类

  • 内嵌的 tomcat
  • 其实就是开启 springMVC,这只是 sb 批量自动装配的一个组件

ServletWebServerFactoryAutoConfiguration


自动装配 - 启动一个内嵌的 tomcat

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服