Nacos配置中心使用
Nacos 配置中心
1. 启动配置中心
# 先确保java环境变量生效
echo $JAVA_HOME
# 否则
source ~/.bash_profile
# 然后再
cd xxx/nacos-server/bin
sh startup.sh -m standalone
输入用户名和密码(nacos/nacos)
2. 创建配置文件
dataId:最好 name+后缀名
3. JAVA代码获取配置
配置文件
spring cloud
# nacos地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
# 应用名
spring.application.name=example
# 配置文件扩展名
spring.cloud.nacos.config.file-extension=properties
# group
spring.cloud.nacos.config.group=demo
# 配置文件前缀
spring.cloud.nacos.config.prefix=name
默认配置文件为: p r e f i x − {prefix}- prefix−{spring.profiles.active}.${file-extension}
prefix如果没有设置的话,默认为application.name
spring.profiles.active:springboot中对应的prod、dev等等
file-extensio:文件类型(text、json、yml、properties等等)
spring boot
# nacos注册地址
nacos.config.server-addr=127.0.0.1:8848
获取配置文件内容
spring cloud
@RestController
@RequestMapping("/config")
@RefreshScope // 实时获取最新的
public class ConfigController {
@Value("${name:a}") // 获取name字段的值,默认为a
private String useLocalCache;
/**
* http://localhost:8080/config/get
*/
@RequestMapping("/get")
public String get() {
return useLocalCache;
}
}
spring boot
MainApplication
@SpringBootApplication
// 指定配置文件
@NacosPropertySource(dataId = "name", autoRefreshed = true,groupId = "demo")
public class NacosConfigApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConfigApplication.class, args);
}
}
controller
@Controller
@RequestMapping("config")
public class ConfigController {
// 获取属性
@NacosValue(value = "${name:aaa}", autoRefreshed = true)
private String useLocalCache;
@RequestMapping(value = "/get", method = GET)
@ResponseBody
public String get() {
return useLocalCache;
}
}