1、引入依赖
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>Greenwich.SR2</spring.cloud.version>
<spring.cloud.alibaba.version>2.1.0.RELEASE</spring.cloud.alibaba.version>
</properties>
<!--spring cloud alibaba 注册与发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
<version>${spring.cloud.alibaba.version}</version>
</dependency>
<!--spring cloud alibaba config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${spring.cloud.alibaba.version}</version>
</dependency>
2、配置bootstrap.yml
spring:
application:
name: config-base
cloud:
nacos:
#Nacos 服务注册中心地址
discovery:
server-addr: 127.0.0.1:8848
#Nacos 服务配置中心地址
config:
server-addr: 127.0.0.1:8848
#配置后缀名是yaml
file-extension: yaml
3、配置application.yml
server:
port: 8090
spring:
profiles:
active: dev
4、创建统一配置文件
dataID命名规则
${prefix} - ${spring.profiles.active} . ${file-extension}
1)prefix:默认是spring.application.name;
可以通过配置spring.cloud.nacos.config.prefix修改;
2)spring.profiles.active:当前环境对应的profile;
3)file-exetension:配置内容的数据格式;
可以通过配置spring.cloud.nacos.config.file-extension修改;
但目前只支持 properties 和 yaml两种类型;
例子:
spring.application.name=config-base
spring.profiles.active=dev
spring.cloud.nacos.config.file-extension=yaml
DataID就是config-base-dev.yaml
image.png
5、后台代码
@RestController
@RefreshScope
public class TestController {
@Value("${user.name}")
String userName;
@Value("${user.age}")
int age;
@RequestMapping("/user")
public String simple() {
return "Nacos Config!" + "Hello " + userName + " " + age;
}
}
@RefreshScope起动态刷新的作用
6、启动项目
6.1、访问http://localhost:8090/user
6.2、修改user.name、user.age
user:
name: 曹操
age: 30
image.png
网友评论