您好,登錄后才能下訂單哦!
該文檔是基于spring cloud版本進行開發(fā)。
Nacos持久化可以參考:https://mp.weixin.qq.com/s/6khhRU46J2kFJKUBuDyTGQ
最新版本可以參考https://github.com/spring-cloud-incubator/spring-cloud-alibaba/releases
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
這里有兩個坑:1、配置文件必須是bootstrip.properties或者bootstrip.yml,如果配置application.properties或者application.yml會導致加載不到配置;2、spring.cloud.nacos.config.namespace如果是默認的Public,則不需填寫,否則獲取不到配置信息
#指定開發(fā)環(huán)境
spring.profiles.active=dev
#服務器地址
spring.cloud.nacos.config.server-addr=127.0.01:8848
#默認為Public命名空間,不需要寫,如果加上的話會導致加載不到配置文件
spring.cloud.nacos.config.namespace=686b723d-e1e6-4f6a-ba2b-cdee09dc8dae
#文件名 -- 如果沒有配置則默認為 ${spring.appliction.name}
spring.cloud.nacos.config.prefix=dhap
#指定文件后綴
spring.cloud.nacos.config.file-extension=yaml
#指定分組信息
spring.cloud.nacos.config.group=AAA
nacos使用namespace進行環(huán)境隔離,可以指定不同的環(huán)境,更好的管理開發(fā)、測試、生產(chǎn)的配置文件管理
Data ID的格式如下:
參考:https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
${prefix}-${spring.profile.active}.${file-extension}
prefix 默認為 spring.application.name 的值,也可以通過配置項 spring.cloud.nacos.config.prefix
來配置。
spring.profile.active 即為當前環(huán)境對應的 profile。 注意:當 spring.profile.active
為空時,對應的連接符 - 也將不存在,dataId 的拼接格式變成 ${prefix}.${file-extension}
。
spring.cloud.nacos.config.file-extension
來配置。目前只支持 properties 和 yaml 類型。
默認為DEFAULT_GROUP,可以對不同類型的微服務配置文件進行分組管理。配置文件通過spring.cloud.nacos.config.group=AAA
來指定。
配置文件格式支持一下幾種TEXT、JSON、XML、YAML、HTML、Properties
資源文件每次修改都會記錄一個歷史版本,歷史記錄默認保存時間為30天,可以根據(jù)歷史記錄看到每次更新的內容。還可以讓指定的記錄文件回滾至上一個版本。
可以監(jiān)聽每個具體資源文件由哪些ip進行訪問
啟動類
@SpringBootApplication(scanBasePackages= {"com.dhap"})
@EnableDiscoveryClient
public class Application {
public static void main(String [] args){
SpringApplication.run(Application.class, args);
}
}
調用示例
要實現(xiàn)配置文件實時生效需要加注解:@RefreshScope
@RequestMapping("/test")
@RestController
@RefreshScope
public class TestController {
@Autowired
private TestService<Test> tsService;
@GetMapping("/nacos")
public String get() {
return test;
}
@Value(value = "${test}")
private String test;
}
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。