Spring @AutoConfiguration源码详解

概述
前面我们了解了spring框架中的@Configuration配置和@ConfigurationProperties加载外部配置注解的使用。那么在Spring boot项目中,应用上下文又是如何找到那么多配置并加载初始化好的呢?

@SpringBootApplication
spring boot项目推荐大家在主类中标注@SpringBootApplication这个注解,我们来看看它的源码:
@Target (ElementType. TYPE )
@Retention (RetentionPolicy. RUNTIME )
@Documented
@Inherited
@SpringBootConfiguration //配置
@EnableAutoConfiguration //启用自动配置
//组件扫描
@ComponentScan (excludeFilters = @Filter (type = FilterType. CUSTOM , classes = TypeExcludeFilter. class ))
public @ interface SpringBootApplication {
//需要排除的自动配置类
Class<?>[] exclude() default {};
//需要排除的自动配置类类名
String[] excludeName() default {};
//扫描包路径
@AliasFor (annotation = ComponentScan . class , attribute = "basePackages" )
String[] scanBasePackages() default {};
//扫描包路径类
@AliasFor (annotation = ComponentScan . class , attribute = "basePackageClasses" )
Class<?>[] scanBasePackageClasses() default {};
}
@EnableAutoConfiguration
我们发现一个配置开关注解,名字叫@EnableAutoConfiguration,看看它的源码:
@Target (ElementType. TYPE )
@Retention (RetentionPolicy. RUNTIME</
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值