写在开始:一个搬砖程序员的随缘记录文章目录
一、项目配置
1、加入依赖2、加入配置3、配置类4、controller
一、项目配置 1、加入依赖2、加入配置org.springframework.boot spring-boot-starter-actuator
application.yml
#使热配置生效
management:
endpoints:
web:
exposure:
include: refresh
#自定义更新参数
config:
name: admin
3、配置类
package com.cn.easycode.config;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.ScopedProxyMode;
import org.springframework.stereotype.Component;
@RefreshScope
@Component
@Data
@ConfigurationProperties(prefix = "config")
public class ValueConfig {
private String uuid;
}
4、controller
package com.cn.easycode.controller;
import com.cn.easycode.config.ValueConfig;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.cloud.context.refresh.ContextRefresher;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@Slf4j
public class TestController {
@Autowired
private ValueConfig valueConfig;
@Autowired
private ContextRefresher contextRefresher;
@RequestMapping(path = "/show")
public String show() {
return valueConfig.getUuid();
}
@RequestMapping(path = "/refresh")
public String refresh() throws Exception {
new Thread(() -> contextRefresher.refresh()).start();
return show();
}
}
启动项目修改配置就可以看到效果
Over



