微服务启动时会从nacos读取多个配置文件:
1.[spring.application.name]-[spring.profiles.active].yaml order-service-dev.yaml
2.[spring.application.name].yaml order-servcie.yaml 多环境共享配置可以写入这个文件。
@Data
@Component
@ConfigurationProperties(prefix = "pattern")
public class PatternProperties {
private String dateformat;
private String envSharedValue;
}
@Autowired
private PatternProperties patternProperties;
@GetMapping("prop")
public String patternProperties() {
return patternProperties.toString();
}
bootstrap.yaml文件中的配置:
spring:
application:
name: order-service # 服务名称
profiles:
active: dev # 开发环境
cloud:
nacos:
server-addr: localhost:8848 # Nacos地址
config:
file-extension: yaml # 文件后缀名
表示即可读取order-service-dev.yaml文件中的配置,也可以读到order-service.yaml文件中的配置。
结论:order-service.yaml共享配置文件是指 与 不同环境dev,prod,test下的共享。
各个配置文件的优先级说明:
nacos (dev,test,prod)环境配置 > nacos共享配置 > 本地配置(代码中的application.yml)
服务名-profile.yaml > 服务名.yaml > 本地配置