SpringBoot自动配置原理

自动配置原理

  • 类上面有了@Configuration后才是配置类,或辅助类被标记过@Configuration。(后者又称为替代注解)。

spring boot底层共有100多个配置类,他们都是通过AutoConfigurationImportSelector类来确定时候起作用,在这个类中有一个selectImport方法:“选择导入”,此方法中调用getAutoConfigurationEntry可以拿到一些配置,继续往下走是通过EnableAutoConfiguration类来加载了一些配置,拿到他们的全限定名后到spring-boot-autoconfigure中的META-INF的spring.factories中可以查到同名key,它的value是各种配置类,其中每一个类都相当于一个配置文件。


eg:打开WebMvcAutoConfiguration配置类看一看

  • 满足@ConditionalOn…才会被选中
  • @Bean可以声明一个Bean对象
  • 在容器中单例模式的Bean可以使用@ConditionalOnMissingBean
  • 视图解析器defaultViewResovler方法

每一个配置类都有一个对应的属性类“properties”,找到并打开后就可以知道如何在application.properties或.yml中进行配置。


ThymeleafAutoConfiguration

用来视图解析.html

  • 需要引入依赖thymeleaf

spring-boot-starter-thymeleaf

  • 此配置类中有新的视图解析器:ThymeleafViewResolver,找到它的属性类,可以看到默认的视图解析器。

总结

  1. 判断此配置类是否满足要求被选中。
  2. 若起作用,则声明一些bean,如:字符编码过滤器,核心控制器等。
  3. 看其具体bean的属性类。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值