Spring Cloud 系列之 Alibaba Nacos 配置中心 (4)

spring.profile.active 即为当前环境对应的 profile。注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式将变成 ${prefix}.${file-extension}

file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型,默认为 properties。

控制层

使用 Spring 的 @Value 注解来获取配置信息,${} 中对应 Nacos 配置中心配置内容的 key,:后跟默认值。

并且通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新。

package org.example.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.HashMap; import java.util.Map; @RefreshScope @RestController public class ConfigController { @Value("${project.name:}") private String projectName; @Value("${project.org:}") private String projectOrg; @GetMapping("/config") public Map<String, Object> getConfig() { Map<String, Object> configMap = new HashMap(); configMap.put("projectName", projectName); configMap.put("projectOrg", projectOrg); return configMap; } } 启动类 package org.example; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ProductServiceApplication { public static void main(String[] args) { SpringApplication.run(ProductServiceApplication.class, args); } } 测试

访问::7070/config 结果如下:

Spring Cloud 系列之 Alibaba Nacos 配置中心

修改配置为以下内容,重新发布:

project: name: SpringCloudAlibaba-Nacos org: Aliababa

Spring Cloud 系列之 Alibaba Nacos 配置中心

控制台打印信息如下:

c.a.c.n.c.NacosPropertySourceBuilder : Loading nacos data, dataId: 'product-service.yaml', group: 'DEFAULT_GROUP' b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-product-service.yaml'}] o.s.boot.SpringApplication : No active profile set, falling back to default profiles: default o.s.boot.SpringApplication : Started application in 3.356 seconds (JVM running for 50.676) o.s.c.e.event.RefreshEventListener : Refresh keys changed: [project.name]

访问::7070/config 结果如下:

Spring Cloud 系列之 Alibaba Nacos 配置中心

Nacos 配置核心概念

Spring Cloud 系列之 Alibaba Nacos 配置中心

配置

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwzsp.html