在Spring Boot中,可以使用Spring Cloud Config來實現動態刷新配置。
下面是一種常見的方法:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
spring.cloud.config.uri=http://localhost:8888
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;
@Component
@RefreshScope
public class MyConfig {
@Value("${my.config.property}")
private String myConfigProperty;
public String getMyConfigProperty() {
return myConfigProperty;
}
}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@Autowired
private MyConfig myConfig;
@GetMapping("/myConfigProperty")
public String getMyConfigProperty() {
return myConfig.getMyConfigProperty();
}
}
/actuator/refresh
來觸發配置刷新:curl -X POST http://localhost:8080/actuator/refresh
這樣,配置信息就會從遠程配置服務器更新到應用程序中。
注意:使用動態刷新配置時,還需要在啟動類上添加@EnableConfigServer
注解。