SpringBoot2022
spring 向spring切换
不对旧的组件进行代码批改
1、配置类
@EnableConfigurationProperties 的作用
- 将SsoProperties 退出到容器中
- 开启SsoProperties的配置绑定性能
@Configuration@EnableConfigurationProperties(value = SsoProperties.class)public SsoFilterConfiguration{ // 形参,spring会去容器中找SsoProperties这个bean @Bean public SsoFilter ssoFilter(SsoProperties ssoProperties) { SsoFilter ssoFilter = new SsoFilter(); ssoFilter.setName(ssoProperties.getName()); ssoFilter.setPassword(ssoProperties.getPassword()); return ssoFilter; }}
2、properties类
@ConfigurationProperties的作用
- 指定主配置文件中clair.sso前缀的值绑定到对应的属性上
@ConfigurationProperties(prefix = "clair.sso")public SsoProperties{ private String name; private String password; // 提供getter setter办法 不必lombok}
3、主性能类
public SsoFilter{ private String name; private String password; // getter setter}
对旧的组件进行代码批改
@Component@ConfigurationProperties(prefix = "clair.sso")public SsoFilter{ private String name; private String password; // getter setter}
留神,两种形式不能共存
主动配置原理
- springboot 装载所有的主动配置类
- 依据条件,判断主动配置类是否失效。每个配置类都会绑定一个xxxProperties。咱们能够再配置文件中指定xxxProperties的值,从而实现对组件属性的自定义配置
- 失效的主动配置类,再依据各种条件判断是否往容器中增加各种组件
- 只有用户本人配置了,就以用户的优先(通过 @ConditionalOnMissingBean实现)
定制化配置
形式一:用户本人通过@Bean注解,定制bean
形式二:用户依据在配置文件中指定xxxProperties对应的属性的值,从而达到定制组件属性的目标
临时
filter执行的程序就是其申明在springmvc中的程序
https://www.zhihu.com/questio...