前言
官方文檔:https://nacos.io/zh-cn/docs/quick-start-spring-boot.html
我的nacos版本:1.3
注意事項
依賴:
<!-- nacos配置管理 -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.7</version>
</dependency>
<!-- 基礎依賴 包含 mvc,aop 等jar資源 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.7.RELEASE</version>
</dependency>
配置文件:
spring.application.name=example
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
啓動類:
@SpringBootApplication
@NacosPropertySource(dataId = "example", autoRefreshed = true)
public class NacosConfigApp {
public static void main(String[] args) {
SpringApplication.run(NacosConfigApp.class, args);
}
}
後臺代碼:
import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("config")
public class ConfigController {
@NacosValue(value = "${useLocalCache:false}", autoRefreshed = true)
private Boolean useLocalCache;
@NacosValue(value = "${username:abc}", autoRefreshed = true)
private String username;
@NacosValue(value = "${num:-1}", autoRefreshed = true)
private Integer num;
@GetMapping(value = "/getNum")
public Integer getNum() {
return num;
}
@GetMapping(value = "/getUseLocalCache")
public Boolean getUseLocalCache() {
return useLocalCache;
}
@GetMapping(value = "/getUsername")
public String getUsername() {
return username;
}
}
- 場景:集成配置管理
我這邊把nacos放在了騰訊雲服務器,然後nacos配置管理服務,在本地。配置文件裏面的地址改成了服務器地址。經過測試,雖然啓動成功了,但是無法註冊進去,也添加不了配置。本地的沒問題。 - 場景:按照官網文檔,通過postman添加配置。
發現,通過接口添加,只能添加布爾類型:Boolean。
添加成功後,會把當前配置返回回來。
數字和字符串是無法添加成功的,發送請求,會提示:config data not exist
。
通過nacos後臺,控制檯添加配置,布爾類型,數字,字符串,都可以直接添加。如下圖:
這時,可以通過postman查詢出數字,但是字符串依然查詢不出來。字符串返回的是電腦主機用戶名稱。
結尾
有可能是因爲@NacosValue
註解沒有使用好,或者是添加配置的時候,接口沒有使用好的原因,所以添加字符串配置失敗。具體怎樣,後面慢慢就知道了。
本文操作,按照官網文檔步驟。