springboot中怎么配置動態(tài)刷新,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
為企業(yè)提供做網(wǎng)站、網(wǎng)站制作、網(wǎng)站優(yōu)化、成都全網(wǎng)營銷推廣、競價托管、品牌運營等營銷獲客服務(wù)。成都創(chuàng)新互聯(lián)公司擁有網(wǎng)絡(luò)營銷運營團隊,以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!具體做法如下:
1、pom:
單獨引入 spring-boot-starter-actuator或者spring-cloud-starter-config(spring cloud config的客戶端) 是不會暴露/refresh端點的,兩者同時引入之后才能暴露/refresh端點。
2、一般使用spring-cloud-starter-config的文章都會讓你在bootstrap里加上配置中心服務(wù)端的地址,這里我們要脫離配置中心服務(wù)端使用,所以這些配置完全不需要。
3、對需要刷新的屬性使用@Value注解,同時將類使用@RefreshScope注解進行標(biāo)記,示例如下:
package com.liuyx.test;import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.context.config.annotation.RefreshScope;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@SpringBootApplication@RestController@RefreshScopepublic class Main { public static void main(String[] args) { SpringApplication.run(Main.class); } private static int port; @Value("${server.port}") public void setPort(int port){ this.port=port; } @RequestMapping("/port") public int port(){ return port; }}
這里我的變量是一個static變量,所以只能在非static的set方法上加@Value注解,而不是變量定義行的上方。如果不是靜態(tài)變量則可以直接寫作:
@Value("${server.port}") private int port;
4、application.properties配置
server.port=80local.test=hello1management.security.enabled=false
5、測試
1、啟動項目,訪問 http://localhost/port 顯示 80
2、修改classpath(注意是classpath,即你編譯后的class文件所處的目錄)下的application.properties將server.port改為801
3、發(fā)送空post(注意是post)請求到 http://localhost:80/refresh
4、再次訪問 http://localhost/port 顯示 801 測試成功
關(guān)于springboot中怎么配置動態(tài)刷新問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。