RefreshScope注解导致取到的配置值为空的问题

spring cloud config client中对controller层使用@RefreshScope注解导致取到的配置值为空的问题

最近在学习使用spring cloud config时, 发现在controller层添加@RefreshScope注解以实现动态配置时, 出现了取到的配置值为空的问题. 很是疑惑, 故记录下来.

在查阅资料后,意识到应该单独建一个配置数据的封装类交给Spring 管理,如下:

@Component
@RefreshScope
public class ConfigData {
    @Value("${config.info}")
    private String configInfo;
    
    public String getConfigInfo() {
        return configInfo;
    }
    
    public void setConfigInfo(String configInfo) {
        this.configInfo = configInfo;
    }
}

在controller层引入该类,即可使用get方法获取对应数据,如下:

@RestController
public class ConfigClientController {
    @Autowired
    private ConfigData configData;

    @GetMapping("/configInfo")
    private String getConfigInfo() {
        return configData.getConfigInfo();
    }
}

你可能感兴趣的:(java,spring,spring,boot)