springcloud alibaba-nacos配置中心
阿新 • • 發佈:2021-02-28
nacos除了充當註冊中心外,還能作為配置中心,下面進行演示。
1. 建立 模組,用於讀取 nacos配置中心的統一配置
2. 新增依賴
<dependencies> <!-- nacos config --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!-- SpringCloud alibaba nacos --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- web元件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</optional> </dependency> <dependency> <groupId>cn.aib.springcloud</groupId> <artifactId>springclud-api-common</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies>
3. 新增配置;這裡配置有兩個:bootstrap.yml和appliation.yml。前者是為了讀取共用的配置,後者是本模組私有的配置
bootstrap.yml:
server: port: 3377 spring: application: name: nacos-config-client cloud: nacos: discovery: server-addr: localhost:8848 #註冊中心的地址 config: server-addr: localhost:8848 #配置中心的地址 file-extension: yaml # 要讀取nacos上的配置檔案的字尾,這裡只能是yaml,不能是yml
application.yml:
spring: profiles: active: dev
4. 主啟動
@EnableDiscoveryClient @SpringBootApplication public class NacosCientApplication { public static void main(String[] args) { SpringApplication.run(NacosCientApplication.class, args); } }
5. 啟動nacos
6. 在nacos新增統一配置資訊
6. 測試;訪問http://localhost:3377/config/info
總結:
1. 配置中心預設讀取 nacos上的 ${spring.application.name}-${spring.profile.active}.${spring.cloud.nacos.config.file-extension};因此DataID 的命名要符合 服務名-開發環境名.字尾名
2. 目前nacos支援yaml,不支援yml
3. 如果要動態重新整理,需要加業務類上加 @RefreshS