VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > Java教程 >
  • java入门之spring cloud微服务快速教程之(八) Spring Cloud Alibaba--nacos(二)、配置中心

0-前言

  上一篇我们介绍了nacos作为服务注册发现组件的功能,nacos还具有配置中心的功能,而且支持热加载;

  在此之前,配置中心有Spring Cloud Config,实际上,用这个有很多风险和隐忧,有了nacos,我们可以大舒一口气了,Spring Cloud Config从此只存在垃圾桶;

回到顶部

1、运行nacos

  跟上篇

回到顶部

2、集成nacos配置中心

2-1、添加依赖:

  新建nacos-user-config模块,添加依赖:

复制代码
       <!-- 集成nacos 服务发现 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>

        <!-- 集成nacos 配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
            <version>2.0.1.RELEASE</version>
        </dependency>
复制代码

2-2、增加配置文件bootstap.yml

(不是application.yml文件,这个bootstrap是程序引导配置,先于application执行)

复制代码
server:
  port: 8763
spring:
  application:
    name: nacos-user-config
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml
        prefix: nacos-user-config
  profiles:
    active: dev
复制代码

 

config:配置了nacos config server的地址,
file-extension:为配置内容的数据格式,表示扩展名是ymal(目前支持ymal和properties)

prefix:默认为 spring.application.name 的值

spring.profile.active: 即为当前环境对应的 profile
配置是和Nacos中的dataId 的格式是对应的,nacos种dataID的完整格式如下: ${prefix}-${spring.profile.active}.${file-extension}

以上配置,对应nacos中的dataID为:nacos-user-config-dev.yaml

注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
 

2-3、nacos 中增加配置项:

点击+号新增nacos-user-config微服务的配置项:

 

 

 

 2-4、项目中应用

在Controller上添加 @RefreshScope 实现配置的热加载,代码如下:

复制代码
@RestController
@RequestMapping("/user")
@RefreshScope  //配置热加载
public class UserController
{
    //------------配置中心测试
    @Value("${username}")
    private String username;

    @RequestMapping("/username")
    public String wid() {
        return username;
    }
}
复制代码

 2-5、运行测试

运行项目,可以看到已经读取到了nacos中的配置:

 

 更新nacos中的配置并发布,这时候看到项目已经获取了最新的配置,说明实现了热加载:

 

 

 

 

nacos就是这么简单高效易用,微服务没理由不选它,下一节我们介绍另一杀器Sentinel;

****** 真性情的程序汪一枚,踏实做事,乐观做人!******
作者: 大叔杨
 
 
出处: https://www.cnblogs.com/yanghj/

相关教程