**
1、实现步骤:
**
1.1 在nacos配置中心加入nacos所读的配置json
1.2 定义对应的实体类
1.3使用@ConfigurationProperties注解自动读取 @ConfigurationProperties作用:将配置文件中配置的每一个属性值,映射到这个组件中。告诉springboot将本类中的所有属性和配置文件中的相关配置进行绑定
@Configuration:代表它是一个配置文件,让spring可以扫描到它 定义 List
属性就是用来接收nacos里面读到的list集合了
2、实例
# 数据来源
data:
name: [{"number":"0","tag":"生产表"},{"number":"1","tag":"生产修正"},{"number":"2","tag":"制程表"},{"number":"3","tag":"生产剔除0和空"},{"number":"4","tag":"直方图默认"},{"number":"5","tag":"直方图带工步"},{"number":"6","tag":"6"},{"number":"7","tag":"7"},{"number":"8","tag":"8"},{"number":"9","tag":"9"},{"number":"10","tag":"工序合格率"}]
json校验是否正确可以:bejson
**
3、代码逻辑
**
实体对象
package com.gotion.flow.warning.project.alarm.domain.pojo;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Author: Mr fang
* @Data: 2023/4/18 9:11
* @Description: 数据来源nacos读取实体对象封装
*/
@Data
@Accessors(chain = true)
public class DataType implements Serializable {
private static final long serialVersionUID = 1L;
private Integer number;
private String tag;
}
package com.gotion.flow.warning.common.config;
import com.gotion.flow.warning.project.alarm.domain.pojo.DataType;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
import java.util.List;
/**
* @Author: Mr fang
* @Data: 2023/4/18 9:08
* @Description: 读取nacos中数据来源的配置信息
*/
@Component
@ConfigurationProperties(prefix = "data")
@Data
@RefreshScope
public class DataTypeConfig {
private List<DataType> name;
}
service:
@Resource
private DataTypeConfig dataTypeConfig;
@Override
public List<DataType> queryConfigData() {
return dataTypeConfig.getName();
}
controller:
@ApiOperation(value = "数据来源类型列表")
@GetMapping("/queryConfigData")
public AjaxResult queryConfigData() {
return AjaxResult.success(homePageService.queryConfigData());
}
调用测试: