之前我在构建最简单Spring Boot web应用一文中创建了简单的Spring Boot Web应用。
这次为它添加连接到Nacos并读取配置的功能。
启动nacos
首先需要下载Nacos,下载后执行\bin\startup.cmd或startup.sh即可,这里在windows环境下执行cmd文件启动Nacos。
默认的端口是8848,上下文是nacos,打开网址后需要登录,输入nacos/nacos进入nacos平台。
nacos内添加应用配置
在左侧配置管理->配置列表页面右侧有个“+”按钮,点击添加quickstart应用的配置。
Data ID : quickstart
Group: DEFAULT_GROUP
配置格式:这里我们选择Properties
配置内容如下:
quickstart.homeText1=Hello, world!
填写完毕后点击发布即可。
应用内添加依赖项
在项目pom.xml中添加以下依赖包:
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-config-spring-boot-starter</artifactId>
<version>0.2.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
第一个就是Spring nacos配置需要的依赖包,lombok这个则是帮助我们减少工作量而引用的,在Javabean类名前添加@Data注解,我们可以省去为Javabean内变量添加get和set方法的工作。
应用设置nacos相关配置
- nacos地址配置
找到application.properties文件,添加以下配置:nacos.config.server-addr=127.0.0.1:8848
- 找到启动类并在类声明前添加以下注解:
@EnableNacosConfig //启用nacos配置
@NacosPropertySource(dataId = "quickstart", autoRefreshed = true) //指明读取的数据的id以及允许自动刷新
类内添加homeText变量,并且修改home()方法如下:
//这里将变量homeText与配置项quickstart.homeText关联,并且指定了默认值,如果初始化时没有找到对应的配置,则设置默认值,该配置项启用自动刷新
@NacosValue(value = "${quickstart.homeText:\"This is default welcome message!\"}", autoRefreshed = true)
private String homeText;
@RequestMapping("/")
public String home() {
return homeText;
}
以上工作完成后,在命令行下执行: mvn clean compile spring-boot:run
,正常运行后访问地址 “http://127.0.0.1:8080/quickstart/”,可以发现页面显示的是“This is default welcome message!”,我们再进入nacos平台,将之前的配置“quickstart.homeText1”中的1去掉并发布,再访问上面的地址,显示的就是Hello, world!了。
命令行修改配置
curl --url "http://127.0.0.1:8848/nacos/v1/cs/configs" -d
"dataId
=quickstart&group
=DEFAULT_GROUP&content
=quickstart.homeText=Welcome%0aquickstart.hello=world!"
在《nacos学习(二)- 对Spring应用的支持》一文中有关于nacos作为配置以及服务注册中心相对详细一些的分析,可作为参考。
网友评论