依赖: <dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
===========================
本地bootstrap.yml配置
spring:
application:
name: orderservice
profiles:
active: dev #环境
cloud:
nacos:
server-addr: 127.0.0.1:8888
config:
file-extension: yaml #文件后缀名
==========================
nacos服务端配置
配置管理配置中心添加
DataID : 服务名称-环境名称.yaml orderservice-dev.yaml
配置格式:yaml
配置内容
sss:
name: zhangsan
==================
第一种配置:
@RestController
@RequestMapping("/order")
@RefreshScope //热更新注解
public class OrderController {
@Value("${sss.name}")
private String name;
}
==================
第二种配置
@ConfigurationProperties(value = "sss")
@Component
@Data
public class SssName {
public String name;
}
@RestController
@RequestMapping("/order")
public class OrderController {
@Autowired private SssName sssName;
}
==================
配置文件优先加载哪一个呢
首先如果配置中心有配置会使用配置中心的
配置中心会先使用服务名称-环境名称.yaml
再使用服务名称.yaml
配置中心没有配置
会先使用application.yml的
最后使用bootstrap.yml的(但是容器启动会先加载bootstrap.yml,然后application.yml会覆盖之前的)