Spring Boot 的自动配置

1.条件类注解

@Conditionxxx

根据不同的条件加载不同的 Bean 到容器中,用来限制配置类是否生效或者某个bean是否需要注入

@ConditionalOnBean:

当容器存在指定的 bean 时才会被加载

@ConditionalOnMissingBean:

当容器不存在指定的 bean 时才会被加载

@ConditionalOnClass :

当类路径下(classpath)存在指定 class 时加载

@ConditionalOnMissingClass:

当类路径下(classpath)不存在存在指定 class 时加载

2.SpringBoot 核心注解

@SpringBootApplication:

Spring Boot 的核心注解,标注于启动类上

启用Spring Boot的自动配置和组件扫描机制。

1.@SpringBootConfiguration      -

相当于 @Configuration,标识该类是一个配置类          

会被Spring容器进行管理,其中可以定义各种Bean的创建和配置

2.@ComponentScan(excludeFilters = {        

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

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

})      

启用组件扫描机制,自动扫描指定包及其子包中的组件    

excludeFilters:排除指定类型的组件

TypeExcludeFilter:springBoot对外提供的扩展类,可以供我们去按照我们的方式进行排除,只要继承该类并重写match方法,在该方法内部进行相应的处理即可    

      AutoConfigurationExcludeFilter :当某个类的包含有 @Configuration 注解、并且该类的类名和默认自动装配的类名相同的话,进行排除扫描

3.@EnableAutoConfiguration:

启用Spring Boot 的自动配置机制

4.@Import(AutoConfigurationImportSelector.class)      

向容器中注入一个 AutoConfigurationImportSelector 组件,调用该类的 selectImports() 方法来自动配置 Spring Boot 提供的自动配置类

5.@AutoConfigurationPackage

注解内部主要由一个 @Import 注解向 Spring 容器导入 AutoConfigurationPackages 的静态内部类 Registrar 组件。

 利用 Registrar.registerBeanDefinitions(方法) 给容器中批量注入一系列组件。通过获取标注该注解的类的元信息得到该类所在的包名,即得到启动类的包名,将在该包下的组件注册到容器中去。

  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值