首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Nacos系列教程】Nacos第二篇:配置中心演示一

【Nacos系列教程】Nacos第二篇:配置中心演示一

作者头像
凯哥Java
发布2022-12-16 18:39:44
发布2022-12-16 18:39:44
77100
代码可运行
举报
文章被收录于专栏:凯哥Java凯哥Java
运行总次数:0
代码可运行

在上一篇,我们讲解了,怎么在Windows系统中启动一个nacos。我们就使用这个nacos来作为配置中心

一:新增一个配置

步骤:配置列表->点击“+号”新增->

我们可以看到,在创建的时候,设置dataId\Group等,还要选择配置格式。

在配置格式中,我们可以看到很多我们熟悉的类型。这里我们就选择YAML类型的

演示数据:

dtatId:domain

group:DEFAULT_GROUP

配置格式:YAML

如下图:

这样,我们就配置好了。

二:spring boot继承Nacos

2.1:创建maven项目省略

2.2:maven添加:

代码语言:javascript
代码运行次数:0
运行
复制
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
    <!-- spring boot启动类的-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-autoconfigure</artifactId>
    </dependency>
    <!-- 解决没有激活profile的-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- nacos-config -->
    <dependency>
        <groupId>com.alibaba.boot</groupId>
        <artifactId>nacos-config-spring-boot-starter</artifactId>
        <version>0.2.7</version>
    </dependency>
</dependencies>

2.3:配置文件添加nacos相关配置:

代码语言:javascript
代码运行次数:0
运行
复制
server.port=8011
spring.application.name=/springboot-nacos
server.servlet.session.timeout= 10
#server.session.timeout=10
server.tomcat.uri-encoding=UTF-8

# nacos
nacos.config.server-addr=127.0.0.1:8848

主要是nacos.config.server-addr地址

2.4:在启动类添加nacos的支持及添加对nacos监听加载方法

代码语言:javascript
代码运行次数:0
运行
复制
@NacosPropertySource(dataId = "domain", autoRefreshed = true, type = ConfigType.YAML)

说明:其中的dtatId就是刚才咱们配置的。设置自动刷新为true.设置文件类型为YAML

nacos监听方法:

代码语言:javascript
代码运行次数:0
运行
复制
/**
 * 监听Nacos加载
 *
 * @param config
 */
@NacosConfigListener(dataId = "domain", type = ConfigType.YAML)
public void onMessage(String config) {
    System.out.println(config);
}

完整如下图:

扩展:

dataId也可以配置在配置文件中。如下:

代码语言:javascript
代码运行次数:0
运行
复制
nacos:
  config:
    server-addr: localhost:8848    data-id: IAM

2.5:编写测试类:

代码语言:javascript
代码运行次数:0
运行
复制
import com.alibaba.nacos.api.config.annotation.NacosValue;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import static org.springframework.web.bind.annotation.RequestMethod.GET;

/**
 * @author kaigejava
 */
@Controller
@RequestMapping("config")
public class NacosConfigController {

    private boolean useLocalCache;
    @NacosValue(value = "${domain-url}", autoRefreshed = true)
    private String serverName;

    @NacosValue(value = "${useLocalCache}", autoRefreshed = true)
    public void setUseLocalCache(boolean useLocalCache) {
        this.useLocalCache = useLocalCache;
    }

    @RequestMapping(value = "/get", method = GET)
    @ResponseBody
    public boolean get() {
        return useLocalCache;
    }

    @RequestMapping(value = "/getString", method = GET)
    @ResponseBody
    public String getString(){
        return serverName;
    }
}

测试方法写完之后,启动项目进行访问:

我们可以看到,已经读取到配置文件里面的信息了。

需要注意:

使用的是

代码语言:javascript
代码运行次数:0
运行
复制
@NacosValue(value = "${domain-url}", autoRefreshed = true)

示例代码已提交:https://gitee.com/kaigejava/kaigejavastudy

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档