一、SpringBoot2基础入门--07-SpringBoot自动配置原理

  • 1.3、按需开启自动配置项

  • 1.3、修改默认配置

  • 1.5、总结springboot的自动配置原理

  • 1.6、怎么修改SpringBoot配置文件,配置文件可以修改哪些内容?

  • 1.7、springboot自动配置最佳实践

  • 1.8、如何修改spring启动时默认的banner图

1、自动配置原理

=======================================================================

学习参考文档

1.1、springboot自动配置底层常用注解


在这里插入图片描述

1.1.1、@ConditionalOnMissingBean与@ConditionalOnBean

@ConditionalOnMissingBean容器中不存在这个类型的组件时,下面内容才生效;

@ConditionalOnBean容器中存在这个类型的组件时,下面内容才生效。

在这里插入图片描述

1.1.2、@ConditionalOnClass与ConditionalOnMissingClass

@ConditionalOnClass(CharacterEncodingFilter.class)项目中引入了这个类(CharacterEncodingFilter)时,下面内容才生效;

@ConditionalOnMissingClass(CharacterEncodingFilter.class)项目中没有引入了这个类(CharacterEncodingFilter)时,下面内容才生效;

在这里插入图片描述

1.1.3、@EnableConfigurationProperties

  • @EnableConfigurationProperties(ServerProperties.class)

  • 用于开启属性配置绑定,属性在ServerProperties.class类中,如下图所示,ServerProperties类中定义了多个属性。

在这里插入图片描述

  • 我们可以在配置文件application.prperties中修改这些属性的值。

在这里插入图片描述

1.2、主程序中的@SpringBootApplication注解


@SpringBootApplication注解,主程序类上使用的注解。该注解可以替换一下三个注解。

@SpringBootConfiguration

@EnableAutoConfiguration

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

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

public @interface SpringBootApplication{}

1.2.1、@SpringBootConfiguration

@Configuration。代表当前是一个配置类,说明springboot的主程序也是一个配置类

在这里插入图片描述

1.2.2、@ComponentScan

指定扫描哪些包,Spring注解;

在这里插入图片描述

1.2.3、@EnableAutoConfiguration

@AutoConfigurationPackage

@Import(AutoConfigurationImportSelector.class)

public @interface EnableAutoConfiguration {}

    • 24
      点赞
    • 29
      收藏
      觉得还不错? 一键收藏
    • 0
      评论

    “相关推荐”对你有帮助么?

    • 非常没帮助
    • 没帮助
    • 一般
    • 有帮助
    • 非常有帮助
    提交
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值