SpringBoot2022
spring 向spring切换
不对旧的组件进行代码修改
1、配置类
【SpringBoot2022【草稿】】@EnableConfigurationProperties 的作用
- 将SsoProperties 加入到容器中
- 开启SsoProperties的配置绑定功能
@Configuration
@EnableConfigurationProperties(value = https://www.it610.com/article/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...
推荐阅读
- 第五节:SpringBoot常用注解介绍
- 第四节:SpringBoot中web模版数据渲染展示
- 聊聊springboot项目全局异常处理那些事儿
- 第一节:创建SpringBoot项目并运行HelloWorld
- springboot管理系统[基于员工角色和文件权限的分级的后台管理系统源码]
- SpringBoot之@ComponentScan和@SpringBootApplication扫描覆盖问题
- mybatis|记mybatis查询null字段导致的NPE
- SpringBoot|SpringBoot 整合 druid数据源
- springboot项目配置application添加图片映射 (windows and linux 都可使用)