nacos~共(gong)享配(pei)置和導入(ru)公用配(pei)置文件(jian)
在spring cloud中的config server中,對于公用(yong)的配置我們會(hui)放到application-{profiles.active}.yml中,對于共享配置片斷,可以(yi)使用(yong)include來實現;而對于nacos來說,是不能直接繼承(cheng)了,則需要使用(yong)nacos自己的語法。
一 共享配置片斷
spring:
cloud:
nacos:
discovery:
server-addr: 192.168.60.138:80
namespace: zzl
config:
server-addr: 192.168.60.138:80
file-extension: yaml
namespace: zzl
shared-configs[0]:
data-id: actuator.yaml
refresh: true
shared-configs[1]:
data-id: const.yaml
refresh: true
二 導入配置文件(繼承配置)
- spring.config.import屬性,用來導入本地或者遠程的公用配置文件
spring:
application:
name: @artifactId@
cloud:
nacos:
discovery:
server-addr: ${NACOS_HOST:pig-register}:${NACOS_PORT:8848}
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
config:
import:
- nacos:application-@profiles.active@.yml
- nacos:${spring.application.name}-@profiles.active@.yml
以上兩種共享配置文(wen)件的方(fang)法,非常實用(yong),希望對咱們(men)有(you)所(suo)幫(bang)助。
三 本地與遠程配置優先級
- 遠程優先
- 其次是本地
- 測試
application.yml
spring:
application:
name: @artifactId@
profiles:
active: dev
cloud:
nacos:
discovery:
server-addr: ${NACOS_HOST:localhost}:${NACOS_PORT:8848}
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
config:
import:
- nacos:auth.yml
- 本地配置類,開啟配置自動刷新
@Data
@RefreshScope
@ConfigurationProperties("auth")
public class AuthProperties {
private String name;
private String date;
}
//啟動類
@SpringBootApplication
@EnableConfigurationProperties(AuthProperties.class) //開啟AuthProperties配置bean
@Slf4j
public class LindDemoApplication {}
- 遠程nacos配置文件auth.yml
auth:
name: lind-remote