Configuration和AutoConfiguration
1. 相同点
- 都用使用
@Configuration
注解.可以加 ·@Bean
、@Import
、@ImportResource.
- 用
@Condition
来控制加载条件.
2 不同点
2.1 使用方式
- @Configuration –
Application
的用户,直接代码进行配置的。 - AutoConfiguration 是给
Springboot 插件
(xxxx.xxx.starter)使用用的。
2.2 加载的方式
@Configuration
加载是由@ComponentScan
指定的package,未指定 以ApplicationClass
所属package
开始。AutoConfiguration
是通过classpath*:META-INF/spring.factories
来被发现。 通过 keyorg.springframework.boot.autoconfigure.EnableAutoConfiguration. AutoConfiguration
是由import selector
的方式加载的@Configuration
先于AutoConfiguration
加载
3 需要注意
·
AutoConfiguration
可以使用@AutoConfigureOrder
或者@AutoConfigureBefore
、@AutoConfigureAfter
作为注解AutoConfiguration的class
所属包
在@ComponentScan
,被认为既是Configuration
,又是AutoConfiguration
。所以会被加载两次
。 先以Configuration身份
时先 加载。 因此@AutoConfigureBefore
、@AutoConfigureAfter
不起作用
。AutoConfiguration定义了
BeanPostProcessor
,
BeanPostProcessor是Spring IOC容器给我们提供的一个扩展接口--> Spring IOC容器实例化Bean --> 调用BeanPostProcessor的postProcessBeforeInitialization方法 --> 调用bean实例的初始化方法 --> 调用BeanPostProcessor的postProcessAfterInitialization方法
Spring容器通过
BeanPostProcesso
r给了我们一个机会对Spring管理的bean进行再加工AutoConfiguration 使用
ImportBeanDefinitionRegistrar
AutoConfiguration 使用
ImportSelector
Configuration和AutoConfiguration相关推荐
- 如何做自己的服务监控?spring boot 2.x服务监控揭秘
Actuator是spring boot项目中非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api请求来监管.审计.收集应用的运行情况,针对微服务而言它是必不可少的一个环节. ...
- Spring Boot 2.0官方文档之 Actuator
https://blog.csdn.net/alinyua/article/details/80009435 前言:本文翻译自Spring Boot 2.0.1.RELEASE官方文档,该Spring ...
- Spring Boot框架敏感信息泄露的完整介绍与SRC实战(附专属字典与PoC)
转载于:https://www.freebuf.com/vuls/289710.html #前言 ##Spring Boot框架介绍 Spring框架功能很强大,但是就算是一个很简单的项目,我们也要配 ...
- Spring Boot指标监控与健康检查
Spring Boot指标监控与健康检查 Actuator Spring Boot Actuator 可以帮助你监控和管理 Spring Boot 应用,比如健康检查.审计.统计和HTTP追踪等.所有 ...
- SpringBoot (一) 入门、配置、自动配置源码剖析理解
文章目录 0 Spring Boot 1 Overview 1.1 Introduce **Spring** SpringBoot 微服务 1.2 快速上手 Hello World pom.xml s ...
- Spring Boot笔记总结
总结一下自己最近学的springboot笔记 yaml语法 #对象 student:name: juziage: 666 #行内写法 kid: {name: jujuju,age: 888}#数组 c ...
- 项目监控之Spring Boot 监控端点 Actuator 入门
1. 概述 应用在部署在生产环境下,我们还需要考虑应用的管理与监控.例如说,应用是否健康存活.应用的 JVM 监控信息.服务器的监控信息(CPU.内存.磁盘等等). 如果我们为应用的管理与监控做相应的 ...
- springboot整合Actuator监控
springboot整合Actuator监控. 1.简要说明: Actuator提供了对springboot应用程序监视和管理的能力,可以选择通过使用HTTP Endpoint或者使用JMX来管理和监 ...
- SpringBoot动态修改日志级别
前言 为了减少日志频繁打印带来的性能影响,线上环境设置的日志级别一般都相对较高.而当出现生产问题需要排查的时候,可能需要适当降低日志级别(例如DEBUG)来打印更多的日志信息帮助定位问题. 传统的做法 ...
最新文章
- c语言20字节的内存的数据怎么读取_C++编程-内存对齐
- 凡客即便走小米模式也很难
- Shell Sort 希尔排序 收藏
- 网工基础测试题(附HCIA题库)
- 架构师:我们需要顶层设计
- ROS 创建msg和srv 编写发布者和订阅者节点 编写服务端和客户端节点(python版本)
- 黑客攻防技术宝典Web实战篇第2版—第8章 攻击访问控制
- django mac 安装mysql_mac安装MySQL-Python报错
- VMware Workstation 12 安装小于4GB的GHOST 64位win7系统
- 淘客用户订单同步思路
- 计算机音乐吧粉刷匠,中班音乐歌曲《粉刷匠》
- 再观《一步之遥》观后感
- 小米应用市场隐私政策
- Linux系统重装时保留重要分区
- 如何开始学剪辑?零基础详细解析
- linux能修改用户的权限,linux怎样修改用户权限
- Android 开发工具集合
- 介绍一款Oracle的利器小工具-SQLcl
- [论文总结] 美国造林业过去30年的惊人变化
- 第三章 Alter DE2-115 开发板的应用