|
|
|
@ -12,7 +12,7 @@ Spring Cloud Alibaba Nacos Config 是 Config Server 和 Client 的替代方案
|
|
|
|
|
|
|
|
|
|
1、启动Nacos Server。启动方式可见 https://nacos.io/zh-cn/docs/quick-start.html[Nacos 官网]
|
|
|
|
|
|
|
|
|
|
2、启动好Nacos之后,在Nacos添加如下的配置。注意dataid是以 properties为扩展名,默认的文件扩展名方式。如下所示:
|
|
|
|
|
2、启动好Nacos之后,在Nacos添加如下的配置。如下所示:
|
|
|
|
|
|
|
|
|
|
[source,subs="normal"]
|
|
|
|
|
----
|
|
|
|
@ -26,6 +26,8 @@ Group : DEFAULT_GROUP
|
|
|
|
|
user.age: 90
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
|
NOTE: 注意dataid是以 properties(默认的文件扩展名方式)为扩展名。
|
|
|
|
|
|
|
|
|
|
==== 客户端使用方式
|
|
|
|
|
|
|
|
|
|
为了能够在应用程序中使用 Nacos 来实现应用的外部化配置,在构建应用的同时添加一个Spring Boot Starter org.springframework.cloud:spring-cloud-starter-alibaba-nacos-config。以下是一个基础的 maven 依赖配置:
|
|
|
|
@ -95,7 +97,7 @@ public class ProviderApplication {
|
|
|
|
|
}
|
|
|
|
|
----
|
|
|
|
|
|
|
|
|
|
spring-cloud-starter-alibaba-nacos-config 对于 Nacos 服务端的基础配置没有默认值,因此在运行此 Example 之前, 必须使用 bootstrap.properties 配置文件来配置Nacos Server地址,例如:
|
|
|
|
|
在运行此 Example 之前, 必须使用 bootstrap.properties 配置文件来配置Nacos Server 地址,例如:
|
|
|
|
|
|
|
|
|
|
.bootstrap.properties
|
|
|
|
|
[source,properties]
|
|
|
|
@ -108,7 +110,7 @@ NOTE: 注意当你使用域名的方式来访问 Nacos 时,`spring.cloud.nacos
|
|
|
|
|
例如 Nacos 的域名为abc.com.nacos,监听的端口为 80,则 `spring.cloud.nacos.config.server-addr=abc.com.nacos:80`。
|
|
|
|
|
注意 80 端口不能省略。
|
|
|
|
|
|
|
|
|
|
启动这个Example,可以在控制台看到打印出的值正是在Nacos上预先配置好的值。
|
|
|
|
|
启动这个 Example,可以在控制台看到打印出的值是在Nacos上预先配置的值。
|
|
|
|
|
|
|
|
|
|
[source,subs="normal"]
|
|
|
|
|
----
|
|
|
|
@ -120,7 +122,7 @@ user name :nacos-config-properties; age: 90
|
|
|
|
|
|
|
|
|
|
=== 基于 dataid 为 yaml 的文件扩展名配置方式
|
|
|
|
|
|
|
|
|
|
spring-cloud-starter-alibaba-nacos-config 对于 yaml 格式也是完美支持。这个时候只需要完成以下两步:
|
|
|
|
|
spring-cloud-starter-alibaba-nacos-config 对于 yaml 格式也是完美支持的。这个时候只需要完成以下两步:
|
|
|
|
|
|
|
|
|
|
1、在应用的 bootstrap.properties 配置文件中显示的声明 dataid 文件扩展名。如下所示
|
|
|
|
|
|
|
|
|
@ -165,10 +167,9 @@ public class ProviderApplication {
|
|
|
|
|
public static void main(String[] args) {
|
|
|
|
|
ConfigurableApplicationContext applicationContext = SpringApplication.run(ProviderApplication.class, args);
|
|
|
|
|
while(true) {
|
|
|
|
|
//当动态配置刷新时,会更新到 Enviroment中,因此这里每隔一秒中从Enviroment中获取配置
|
|
|
|
|
String userName = applicationContext.getEnvironment().getProperty("user.name");
|
|
|
|
|
String userAge = applicationContext.getEnvironment().getProperty("user.age");
|
|
|
|
|
//获取当前部署的环境
|
|
|
|
|
String currentEnv = applicationContext.getEnvironment().getProperty("current.env");
|
|
|
|
|
System.err.println("user name :" + userName + "; age: " + userAge);
|
|
|
|
|
TimeUnit.SECONDS.sleep(1);
|
|
|
|
|
}
|
|
|
|
|