首先要官网下载一个nacos的压缩包。我这里直接放连接了 "Nacos 快速开始",里面有需要的开发环境和启动关闭命令。
这里说下nacos的数据库和使用配置中心
1.解压好的文件里找到nacos-mysql.sql,在nacos/conf下面,建立nacos数据库
2.修改配置文件application.properties,在nacos/conf下面,将下面这几个注解放开,并修改成你自己相应的配置
-spring.datasource.platform=mysql -db.num=1 -db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC -db.user.0=root -db.password.0=你的密码
3.然后就可以运行了,上面的快速开始里有启动命令,启动完后可以通过 "tail -200f 启动日志路径地址" 去看下有没有成功,成功了有一个nacos的banner图标,后面相应的信息和可视化界面连接,这个连接时内网的,如果你想在本机上开的话需要注意下
4.配置中心使用
-我理解的就是不用在项目的yml文件里写太多的变量值,可以把这些值放到nacos中,在nacos中修改后项目中也会对应修改; -另一个就是,不用每次改yml后重新打包项目了;
5.添加配置
-配置管理 -> 配置列表 添加按钮 Data ID: config-service.yml。指定配置且保证全局唯一性。格式: -Group: 默认配置为 DEFAULT_GROUP,不需要修改。 -配置格式 : 选择 YAML 配置文件格式 -配置内容 :跟平时在springboot项目中的yml一样写就行;比如声明一个字段:ghc: "我的名字叫什么"
6.然后就是建立一个springboot项目测试了,我这里用的是spring cloud的Hoxton.SR12版本,
springboot 2.3.6.RELEASE spring cloud Hoxton.SR12 nacos-config 2.2.6.RELEASE
7.修改application.yml
server: port: 8080 spring: application: name: config-service #服务名称,要跟nacos后台新建配置的 Data ID 前缀保持一直(约定大于配置)
8.导入好了需要添加一个bootstrap.xml文件,里面指定到你的服务器id和yml文件类型
spring: cloud: nacos: config: server-addr: 你的公网ip # Nacos 配置中心地址 file-extension: yml # 配置文件格式
9.使用命名空间,自己理解主要是用来区分是开发环境、测试环境和生成环境的
spring: cloud: nacos: config: namespace: 0b99c635-3895-4357-8aa0-aded53b0a70b # 指定命名空间可以做到开发和生产分开使用
整理好了就可以开始测试了,整一个controller,里面定义一个你在nacos配置文件中定义的字段名,然后用@Value注解注入,再写一个get请求的接口获取这个字段的get方法就可以了,注意的是需要在controller类上填写上@RefreshScope注解。
他是解决资源文件与javaConfig的同步问题的 当boot环境中properties值改变 SpringCloud触发 Apollo触发 需要对boot的java config进行刷新处理 因为config初始化之后不会再初始化了
然后访问下就行了,注意下如果nacos的配置文件中有中文,在idea中使用会报错,需要在启动项的VM options中,添加上-Dfile.encoding=utf-8这个