springboot Nacos配置中心
Nacos 官网
https://nacos.io/zh-cn/docs/what-is-nacos.html
配置中心只是nacos的一个功能,这里仅仅只是介绍 springboot + nacos配置中心。其他功能见官网介绍。
预备环境
Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:
64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
64 bit JDK 1.8+
Maven 3.2.x+
(本文操作环境 win7 64)
Nacos 安装&启动
安装包下载地址 https://github.com/alibaba/nacos/releases
安装
解压即可
windows 下 启动
双击 startup.cmd 或 在cmd命令行 执行 startup.cmd
Linux/Unix/Mac 下启动 (standalone 单机)
startup.sh -m standalone
关闭Nacos
运行相应的 shutdown 脚本
注意: nacos 默认端口 8848(珠穆朗玛峰的高度) ,可以设置端口
编辑 nacos-server-1.1.4\nacos\conf 下的 application.properties 文件 添加
server.port=xxxx
或者
编辑nacos-server-1.1.4\nacos\bin下的startup.cmd文件 添加
set "JAVA_OPT=%JAVA_OPT% --server.port=xxxx
windows 下 双击 startup.cmd 启动 Nacos 1.1.4 如下:

nacos 控制台
登录 nacos 控制台
浏览器输入 http://127.0.0.1:8848/nacos/index.htm
(注:我的谷歌浏览器好像打不开,可能版本低了,火狐、360极速浏览器打开正常)

默认登录的账号密码都是 nacos , 登录成功后 如下:

添加一个配置

dataId 为 example ,组为 DEFAULT_GROUP ,配置内容为 test=123456


注意:上面配置操作是通过控制台 UI 完成的,nacos 还提供了api访问操作的方式,详细见官方文档。
springboot 集成 nacos 动态配置
springboot nacos 依赖
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>
注意: 如果springboot版本是2.x 那么nacos-config-spring-boot-starter 对应版本号0.2.x
如果springboot版本是1.x 那么nacos-config-spring-boot-starter 对应版本号0.1.x
application.properties 中配置 Nacos server 的地址
nacos.config.server-addr=127.0.0.1:8848
启动类 使用 @NacosPropertySource 加载 dataId 为 example 的配置源,并开启自动更新
注意:dataId = “example”,groupId = “DEFAULT_GROUP” 确定使用 nacos 中的哪个配置
autoRefreshed 表示是否自动更新
import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@NacosPropertySource(dataId = "example",groupId = "DEFAULT_GROUP",autoRefreshed = true)
public class NacosConfigDemoApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConfigDemoApplication.class, args);
}
}
通过 Nacos 的 @NacosValue 注解设置属性值
import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author:
* @create: 2019-12-17 17:32
**/
@RestController
public class TestController {
//获取nacos指定配置中test的内容,如果没test,则取默认值this is a default value
@NacosValue(value = "${test:this is a default value}", autoRefreshed = true)
private String test;
@RequestMapping("/get")
public String get() {
return test;
}
}
测试
程序正常启动后,浏览器输入 http://127.0.0.1:8080/get
123456 的内容 是来自 nacos 控制台设置的

注意
nacos 配置优先级 高于 应用本身的 application.properties 配置。如果nacos 和 应用本身配置 都有test ,那么应用本身的 test 配置 会覆盖 nacos 的配置
demo 源码
链接:https://pan.baidu.com/s/12Oh3vfJjwt45-NxsEwS48w
提取码:uet7
注意: 启动应用前 先安装 启动 nacos ,然后 添加配置 (配置的 dataId 为 example , groupId 为 DEFAULT_GROUP )
更多推荐



所有评论(0)