SpringBoot入门(三)——自动配置原理

本文深入探讨SpringBoot的自动配置原理,解析启动过程中的配置加载与组件导入,详细阐述了自动配置类如何根据条件生效,并通过HttpEncodingAutoConfiguration举例说明。同时,介绍了配置文件与Properties类的绑定关系,以及如何查看生效的自动配置报告。
摘要由CSDN通过智能技术生成

配置文件到底能写什么?怎么写?自动配置原理:

配置文件能配置属性参照

自动配置原理

1)、SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration

2)、@EnableAutoConfiguration作用:

  • 利用EnableAutoConfigurationImportSelector给容器中导入一些组件?

  • 可以查看selectImports()方法(选择器父类的方法)的内容:

  • List<String> configurations = this.getCandidateConfigurations(annotationMetadata, attributes);获取候选的配置

      SpringFactoriesLoader.loadFactoryNames();
      扫描所有jar包类路径下的"META-INF/spring.factories"
      把扫描到的这些文件的内容包装成properties对象
      从properties中获取到EnableAutoConfiguration.class类(类名)对应的值,把他们添加到容器中
    

    将类路径下的"META-INF/spring.factories里面配置的所有EnableAutoConfiguration的值注入到容器中:

      # Auto Configure
      org.springframework.boot.autoconfigure.EnableAutoConfiguration=\\
      org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,\\
      org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\\
      org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration,\\
      org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration,\\
      org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\\
      org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration,\\
      org.springframework.boot.autoconfigure.cloud.CloudAutoConfiguration,\\
      org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration,\\
      org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration,\\
      org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration,\\
      org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration,\\
      org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration,\\
      org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration,\\
      org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration,\\
      org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration,\\
      org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration,\\
      org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchAutoConfiguration,\\
      org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchDataAutoConfiguration,\\
      org.springframework.boot.autoconfigure.data.elasticsearch.ElasticsearchRepositoriesAutoConfiguration,\\
      org.springframework.boot.autoconfigure.data.jpa.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值