提示信息:在高版本springboot中,不自动读取bootstrap.yml
文件了,自己用时可引入spring-cloud-starter-bootstrap
包。
Nacos服务注册发现参考://www.greatytc.com/p/ba298e0a2eab
spring-cloud-alibaba
测试的版本是:2023.0.1.2
请看最新文档,最新文档,最新文档:https://sca.aliyun.com/docs/2023/user-guide/nacos/quick-start/
1. 服务中引入Nacos配置包
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2. nacos接入配置文件
- 微服务配置文件:
application.yml
- 现在使用的nacos版本是2.3.2
- 直接在
application.yml
中配置就可以 - 配置如下:
spring:
application:
name: oauth2-server
config:
import:
- nacos:${spring.application.name}.yaml?refreshEnabled=true
cloud:
nacos:
serverAddr: 10.10.1.6:8848
username: nacos
password: nacos
discovery:
register-enabled: true
# server-addr: 10.10.1.6:8848
ip: 10.10.1.2
3. 在nacos中添加配置
Nacos新增配置图
-
-
Data ID命名规则:
${prefix}-${spring.profiles.active}.${file-extension}
-
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置 -
spring.profiles.active
即为当前环境对应的 profile,没有就不用配置了,有不同环境也可以放不同命名空间。注意:当spring.profiles.active
为空时,对应的连接符-
也将不存在,dataId 的拼接格式变成${prefix}.${file-extension}
** -
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型
-
Data ID命名规则:
-
Group可以使用默认的,也可以自定义,但是要和
application.yml
中的group
一致,(若有gateway网关服务,gateway服务必须要和其他微服务在同一组,才能找到路由地址)
-
Group可以使用默认的,也可以自定义,但是要和
- 选好格式,记得
Data ID
中要有这个格式后缀(yaml
或properties
)
- 选好格式,记得
- 填写配置信息
4. 配置自动更新
使用Spring Cloud 原生注解 @RefreshScope
,这样通过@Value
注解取到的值是更新过的(@ConfigProperties
注解不是)
新版本在导入nacos配置的时候加了,这不加不知道可不可以。
@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {
@Value("${useLocalCache:false}")
private boolean useLocalCache;
@RequestMapping("/get")
public boolean get() {
return useLocalCache;
}
}