自动配置如何正确理解spring boot实现原理海量资源.pdfVIP

自动配置如何正确理解spring boot实现原理海量资源.pdf

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

本文由简悦SimpRead转码,原文地址

通过前面几个内容的介绍,相信你对SpringBoot中的配置体系已经有了全面的了解。Spring

Boot中的配置体系是一套强大而复杂的体系,其中最基础、最的要数自动配置

(AutoConfiguration)机制了。今天围绕这个话题详细展开讨论,看看SpringBoot如何实现

自动配置。那我们就先从@SpringBootApplication注解开始讲起。

@SpringBootApplication注解

@SpringBootApplication注解位于spring-boot-autoconfigure工程的

org.springframework.boot.autoconfigure包中,定义如下:

@Target(ElementType.TYPE)

@Retention(Retention.RUNTIME)

@Documented

@Inherited

@SpringBootConfiguration

@EnableAutoConfiguration

@ComponentScan(excludeFilters={

@Filter(type=FilterType.CUSTOM,classes=TypeExcludeFilter.class),

@Filter(type=FilterType.CUSTOM,classes

AutoConfigurationExcludeFilter.class)})

public@interfaceSpringBootApplication{

@AliasFor(annotation=EnableAutoConfiguration.class)

Class?[]exclude()default{};

@AliasFor(annotation=EnableAutoConfiguration.class)

String[]excludeName()default{};

@AliasFor(annotation=ComponentScan.class,attribute=basePackages)

String[]scanBasePackages()default{};

@AliasFor(annotation=ComponentScan.class,attribute=basePackageClasses)

Class?[]scanBasePackageClasses()default{};

}

相较一般的注解,@SpringBootApplication注解显得有点复杂。我们可以通过exclude和

excludeName属性来配置不需要实现自动装配的类或类名,也可以通过scanBasePackages和

scanBasePackageClasses属性来配置需要进行扫描的包路径和类路径。

注意到@SpringBootApplication注解实际上是一个组合注解,它由三个注解组合而成,分别是

@SpringBootConfiguration、@EnableAutoConfiguration和@ComponentScan。

@ComponentScan注解

@ComponentScan注解不是SpringBoot引入的新注解,而是属于Spring容器管理的内容。

@ComponentScan注解就是扫描基于@Component等注解所标注的类所在包下的所有需要注入的

类,并把相关Bean定义批量加载到容器中。显然,SpringBoot应用程序中同样需要这个功能。

@SpringBootConfiguration注解

@SpringBootConfiguration注解比较简单,事实上它是一个空注解,只是使用了Spring中的

@Configuration注解。@Configuration注解比较常见,提供了JavaConfig配置类实现。

@EnableAutoConfiguration注解

@EnableAutoConfiguration注解是我们需要重点剖析的对象,下面进行重点展开。该注解的定义如下

代码所示:

@Target

您可能关注的文档

文档评论(0)

guchengyong + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档