扩展Spring Boot Web应用 - 连接Nacos

之前我在构建最简单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中添加以下依赖包:

    
        com.alibaba.boot
        nacos-config-spring-boot-starter
        0.2.3
    

    
        org.projectlombok
        lombok
        true
    

第一个就是Spring nacos配置需要的依赖包,lombok这个则是帮助我们减少工作量而引用的,在Javabean类名前添加@Data注解,我们可以省去为Javabean内变量添加get和set方法的工作。

应用设置nacos相关配置

  1. nacos地址配置
    找到application.properties文件,添加以下配置: nacos.config.server-addr=127.0.0.1:8848
  2. 找到启动类并在类声明前添加以下注解:
    @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作为配置以及服务注册中心相对详细一些的分析,可作为参考。

你可能感兴趣的:(扩展Spring Boot Web应用 - 连接Nacos)