乐趣区

关于springboot:SpringBoot2022草稿

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…

退出移动版