1.场景
有一些不变的,但常用的数据,可以直接写在nacos里,便于读取与管理。
我这里是从nacos里读取的一个list集合,集合的内容是个对象
sopconditions:
sopcondition:
- sopConditionEnum: 1
approvalType: 0
conditionName: "营销方类型是否是电厂"
bussinessBodys: [0, 1, 5, 6]
inkeys:
- alias: "id"
name: "id"
type: "String"
necessary: true
defaultValue: ""
- alias: "sopConditionEnum"
name: "sopConditionEnum"
type: "String"
necessary: true
defaultValue: "1"
outkeys:
- alias: "result"
name: "result"
type: "String"
address: "String"
defaultValue: "是;否"
values: null
autoValues: null
- sopConditionEnum: 2
approvalType: 0
conditionName: "合同类别"
bussinessBodys: [0, 1, 5, 6]
inkeys:
- alias: "id"
name: "id"
type: "String"
necessary: true
defaultValue: ""
- alias: "sopConditionEnum"
name: "sopConditionEnum"
type: "String"
necessary: true
defaultValue: "2"
outkeys:
- alias: "contractType"
name: "合同类别"
type: "String"
address: "String"
defaultValue: "电力贸易;综合能源;电力贸易和综合能源"
values: null
autoValues: null
2.具体操作
2.1 在yaml文件配置中加入nacos所读的配置yaml的位置
2.2 定义对应的实体类
2.3使用@ConfigurationProperties注解自动读取
@ConfigurationProperties作用:将配置文件中配置的每一个属性值,映射到这个组件中。告诉springboot将本类中的所有属性和配置文件中的相关配置进行绑定
@Configuration:代表它是一个配置文件,让spring可以扫描到它
定义的List sopcondition 属性就是用来接收nacos里面读到的list集合了
```java
@Configuration
@ConfigurationProperties(prefix = "sopconditions")
@Data
public class SopConditionProperties {
// @Value("${
sopcondition:[]}")
private List<SopCondition> sopcondition;
public List<SopCondition> getList(){
return sopcondition;
}
public void setList(List<SopCondition> sopConditions){
this.sopcondition = sopConditions;
}
}