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…