1.nacos安裝
請參考 : docker 安裝 nacos 1.X
2.項目父工程
請參考 : SpringCloud H系列 alibaba 2.1.1 (一) nacos1.X 註冊中心 服務端
3.項目結構
4.創建配置中心客戶端子工程
pom.xml 工程文件
<parent>
<groupId>com.alibaba</groupId>
<artifactId>spring-cloud-hoxton</artifactId>
<version>1.0</version>
</parent>
<artifactId>alibaba-nacos-config-client</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
</dependencies>
在nacos web管理端創建 application-nacos.yml 配置文件
指定端口號爲 8000
bootstrap.yml 是優先級比 application.yml 高一檔的配置文件 springboot 會優先讀取
spring:
application:
# 應用名稱
name: alibaba-nacos-config-client
cloud:
nacos:
config:
# 配置中心地址
server-addr: 192.168.1.141:8848
# 文件後綴
file-extension: yml
# 文件前綴
prefix: application-nacos
TestApplication.java 啓動類
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
TestController.java 測試接口 讀取nacos中的配置文件中的端口號並返回
@Slf4j
@RestController
@RefreshScope // nacos 配置自動刷新
public class TestController {
// 從 nacos 獲取端口號
@Value("${server.port:}")
private String port;
@GetMapping("/test")
public String test() {
return "端口:"+port;
}
}
啓動應用查看端口是否爲nacos 中所配置的8000
訪問測試接口讀取配置文件中的端口
簡單配置成功
這時更改 nacos 配置文件中的 端口爲 9000
查看文件是否會動態刷新
刷新測試接口查看內容是否改變
動態刷新成功(雖然配置文件改成了9000,但項目啓動時已經指定爲8000,所以需要重啓應用,方可生效)
5.命名空間 與 多環境配置
創建新命名空間 dev 記住命名空間ID
在 dev 空間下 創建 application-nacos-dev.yml 開發環境配置文件 與 application-nacos-prod.yml 正式環境配置文件
application-nacos-dev.yml 配置端口爲 8002
application-nacos-prod.yml 配置端口爲 8012
修改 bootstrap.yml 配置 增加 多環境指定 與 命名空間ID
spring:
application:
# 應用名稱
name: alibaba-nacos-config-client
cloud:
nacos:
config:
# 配置中心地址
server-addr: 192.168.1.141:8848
# 文件後綴
file-extension: yml
# 文件前綴
prefix: application-nacos
# 命名空間ID
namespace: 21c7d9a6-4b92-4313-b28b-7ba5a9328902
profiles:
# 環境指定爲dev
active: dev
# 環境指定爲prod
# active: prod
指定 環境爲dev 啓動應用查看 端口是否爲 8002
指定 環境爲prod 啓動應用查看 端口是否爲 8012
項目已上傳到gitee
地址: spring-cloud-alibaba-H-demo
如果幫到您了,請幫忙點個star