侧边栏壁纸
博主头像
Epoch

Java开发、Python爬虫、微服务、分布式、前端

  • 累计撰写 93 篇文章
  • 累计创建 110 个标签
  • 累计收到 8 条评论

目 录CONTENT

文章目录

SpringCloud Alibaba Nacos Config统一配置和动态更新

Epoch
2020-05-09 / 0 评论 / 0 点赞 / 283 阅读 / 604 字 / 正在检测是否收录...

目标:SpringCloud Alibaba Nacos Config统一配置和动态更新
工具:IDEA–2020.1、Nacos、本地服务器(作为测试)
学习目标:学习如何使用Nacos作为Dubbo服务的注册中心
本次学习的工程下载链接放到文本最后面

  • Nacos的基本使用
    在SpringCloud中,创建一个Springboot项目,添加Springcloud依赖:
<properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>Greenwich.SR2</spring-cloud.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        <version>2.1.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-context</artifactId>
        <version>2.1.1.RELEASE</version>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
  • 创建bootstart.properties,并在bootstart.properties中添加Nacos Server的连接地址:

    spring.application.name=spring-cloud-nacos-config-sample
    spring.cloud.nacos.config.server-addr=192.168.77.1:8848
    spring.cloud.nacos.config.prefix=example

  • 在Nacos Console中创建如下配置:
    9G3.png

  • 启动类中配置如下:

    @SpringBootApplication
    public class SpringCloudNacosConfigApplication {

    public static void main(String[] args) {
        ConfigurableApplicationContext context = 
        SpringApplication.run(SpringCloudNacosConfigApplication.class, args);
        //单次读取
        //从Environment中读取配置
        String info=context.getEnvironment().getProperty("info");
        System.out.println(info);
    }
}
  • 获得输出结果如下:
2020-05-09 14:22:08.253  INFO 16092 --- [           main] c.x.SpringCloudNacosConfigApplication    : Started

SpringCloudNacosConfigApplication in 6.065 seconds (JVM running for
7.097)
Nacos Server Data : Hello World 111

  • 动态更新配置就该启动类中的代码:
        //动态更新配置
        while(true){
            String info=context.getEnvironment().getProperty("info");
            System.out.println(info);
            Thread.sleep(2000);
        }

通过while循环不断读取info中的信息,当info中的属性发生变化时候,就会输出如下日志:
W0Y64IBS2RZJQ}5B0V3180C.png


下载链接:spring-cloud-nacos-config.rar

0

评论区