当前位置: 首页>编程语言>正文

springboot 配置文件 配置 source相对路径 springboot配置文件原理

自动配置原理

配置文件属性参照

原理说明

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring,第1张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_配置文件_02,第2张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring_03,第3张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring_04,第4张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_条件判断_05,第5张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_条件判断_06,第6张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_条件判断_07,第7张

精髓

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring boot_08,第8张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring boot_09,第9张

示例

以HttpEncodingAutoConfiguration为例

注解中有前缀的写法,

我们能配置的属性在springBoot1.5.9版本中来源于HttpEncodingProperties类

但是在2.3.1版本中,能配置的属性来源于Encoding类

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring boot_10,第10张

可以看到server.servlet.encoding后边可以加enabled、charset、force、forceRequest、forceResponse、mapping

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_条件判断_11,第11张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring_12,第12张

再比如CacheAutoConfiguration

能配置的属性在CacheProperties类中

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_条件判断_13,第13张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_配置文件_14,第14张

个人总结

springBoot框架作为半成品,其实就是为了方便开发, 原来很多自己配置的东西,都交给了框架处理。 springBoot启动时会加载大量自动配置类,配置类中就会把很多组件放到spring的ioc容器中 我们使用时,就是看需要的组件springBoot的自动配置类中是否已经提供 如果没有提供,这时就需要自己去编写组件。 如果提供了,那么组件的属性是否符合我们的要求,如果不符合,也就是不使用它默认的配置,而是自己在配置文件中定义属性 而这些属性包含哪些,就去看自动配置类的xxxProperties类中的成员。从而指定希望出现的参数,满足项目需求。

Conditional注解

在自动配置类上,包括在组件方法上,都可以看到Conditional注解,它的含义就是在创建这个自动配置类或者创建这个组件之前,要进行判断

比如这个编码过滤器,它是要在没有配置过这个Bean 的时候才生成组件

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring_15,第15张

他们都是根据spring的原生@Conditional注解来做的派生注解

就是经过了一个条件判断

必须Conditional注解中条件成立,才会把组件添加到容器中,配置的内容才生效

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring boot_16,第16张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring boot_17,第17张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring_18,第18张

自动配置报告

当启用了springBoot的debug配置,会在控制台打印自动配置报告

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring boot_19,第19张

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_spring boot_20,第20张

包括匹配到的自动配置类,和未启用的自动配置类

springboot 配置文件 配置 source相对路径 springboot配置文件原理,springboot 配置文件 配置 source相对路径 springboot配置文件原理_条件判断_21,第21张


https://www.xamrdz.com/lan/5mh1935561.html

相关文章: