Nacos配置中心操作步骤:
一.进入nacos控制台界面,在”配置列表”点击”加号按钮”新建配置
二.在”新建配置”页新建配置
相关概念可参考: https://nacos.io/zh-cn/docs/concepts.html
三.发布配置
四.查看”配置列表”
新建springboot项目:
一.Pom文件:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.nacos</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>nacos-config</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>0.2.1.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!--MVC-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--nacos配置中心-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--Lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
重点是加入Nacos配置中心客户端模块:
注意:
此处没有引入注册中心客户端模块,Nacos配置中心和注册中心可以独立使用
二.配置文件:
内容:
spring.application.name=nacos-config-client
server.port=8003
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
注意:
1.配置文件必须使用” bootstrap.properties”
2.”bootstrap.properties”文件的”spring.application.name”属性值要与Nacos控制台配置的Data Id(除去’.properties’后缀)相同
三.接口:
@SpringBootApplication
public class NacosConfigApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConfigApplication.class, args);
}
@RestController
@RefreshScope
static class Test {
@Value("${jmdz.title}")
private String title;
@GetMapping("/test")
public String test() {
return title;
}
}
}
四.启动项目:
日志信息:
2019-05-05 16:55:19.771 INFO 24976 --- [-127.0.0.1_8848] o.s.c.a.n.c.NacosPropertySourceBuilder : Loading nacos data, dataId: 'nacos-config-client.properties', group: 'DEFAULT_GROUP'
2019-05-05 16:55:19.771 INFO 24976 --- [-127.0.0.1_8848] b.c.PropertySourceBootstrapConfiguration : Located property source: CompositePropertySource {name='NACOS', propertySources=[NacosPropertySource {name='nacos-config-client.properties'}]}
说明连接到了配置中心,配置加载成功
注意:
我的配置文件”bootstrap.properties”中,并没有”jmdz.title”这个自定义属性。如果项目启动报错,提示”jmdz.title”属性注入失败,多半是因为项目配置文件中”spring.application.name”的属性值与Nacos控制台配置的Data Id(除去’.properties’后缀)不一致导致
验证:
一.访问测试接口:
没有问题,配置成功加载
二.通过Nacos控制台修改配置(项目不用重启,保持运行就可以):
1.点击”编辑”
2.修改”配置内容”:
3.点击”发布”:
4.项目日志:
2019-05-05 17:25:07.707 INFO 24976 --- [-127.0.0.1_8848] o.s.c.e.event.RefreshEventListener : Refresh keys changed: [jmdz.title]
刷新成功
5.再次访问接口:
内容改变,Nacos配置中心的基本使用完成!
附录(Nacos Config 共享配置方案设计):
https://github.com/spring-cloud-incubator/spring-cloud-alibaba/issues/141