SpringBoot2022

spring 向spring切换

不对旧的组件进行代码批改

1、配置类

@EnableConfigurationProperties 的作用

  1. 将SsoProperties 退出到容器中
  2. 开启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的作用

  1. 指定主配置文件中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}

留神,两种形式不能共存

主动配置原理

  1. springboot 装载所有的主动配置类
  2. 依据条件,判断主动配置类是否失效。每个配置类都会绑定一个xxxProperties。咱们能够再配置文件中指定xxxProperties的值,从而实现对组件属性的自定义配置
  3. 失效的主动配置类,再依据各种条件判断是否往容器中增加各种组件
  4. 只有用户本人配置了,就以用户的优先(通过 @ConditionalOnMissingBean实现)

定制化配置

形式一:用户本人通过@Bean注解,定制bean

形式二:用户依据在配置文件中指定xxxProperties对应的属性的值,从而达到定制组件属性的目标

临时


filter执行的程序就是其申明在springmvc中的程序

https://www.zhihu.com/questio...