前置条件:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
获取配置中心命名导致获取不到文件
获取配置文件命名格式:
- {nacos.config.prefix}.{nacos.config.file-extension}
- {nacos.config.prefix}-{spring.profiles.active}.{nacos.file-extension}
spring:
application:
name: gulimall-cart1
profiles:
active: dev
cloud:
nacos:
discovery:
server-addr: 39.99.234.10:8848
config:
server-addr: 39.99.234.10:8848
file-extension: yaml
prefix: gulimall-cart #推荐使用这个,因为name和他具有相同效果但语义不如prefix明确
最终获取配置文件名查看启动日志
@Value可以拿到值, @NacosValue拿不到值
请使用Value去进行获取
原因是应为:用的不是nacos原生,而是用的spring-cloud-starter-alibaba-nacos-config
官方说明:
After completing the above two steps, the application will get the externalized configuration from Nacos Server and put it in the Spring Environment’s PropertySources.We use the @Value annotation to inject the corresponding configuration into the userName and age fields of the SampleController, and add @RefreshScope to turn on dynamic refresh .
所以按照阿里官网的意思,正常就应该用@Value而不应该用@NacosValue