SpringCloud使用nacos配置中心

nacos介绍

  1. github地址
    https://github.com/alibaba/nacos](https://github.com/alibaba/nacos
  2. 官方文档地址
    https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html](https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
  3. nacos 源码包和压缩包下载地址
    https://github.com/alibaba/nacos/releases](https://github.com/alibaba/nacos/releases
    本文使用版本 Nacos 1.1.0

windows安装使用

  1. 在github下载zip压缩包,解压
  2. 进入解压目录/bin 启动startup.cmd
    2.1 启动看到如下界面
    启动界面.png

    2.2 成功界面
    成功.png

    默认端口是8848 启动模式为单机模式 数据库使用nacos内置数据库
  3. 进入localhost:8848/nacos 启动成功能看到nacos控制台
    默认的账号密码都是 nacos

与SpringCloud整合

pom.xml

版本信息
   <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
        <spring-cloud-alibaba.version>0.2.0.RELEASE</spring-cloud-alibaba.version>
    </properties>

   <dependencies>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

    </dependencies>

   <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <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>

配置文件

配置文件加载顺序不了解的可以看一下其他文章了解一下
新建 bootstrap.yml

server:
  port: 8090

spring:
  application:
    name: shop-user-8090
  profiles:
    active: local
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yaml ## 配置文件的后缀 
        group: SHOPOL_GROUP ## group组

新建 application-local.yml

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8081/eureka
  instance:
    instance-id: shop-user-8090
    prefer-ip-address: true

management:
  endpoint:
    health:
      show-details: when_authorized
## 测试配置修改动态更新
param: true

编写测试controller

@RestController
@RequestMapping("/user")
@RefreshScope // 动态更新注解
public class TestController {

    @Autowired
    private ProductService productService;

    @Value("${param}")
    private String param;

   @GetMapping("/get")
    public String getParam() {
        return param ;
    }
}

启动项目 访问http://localhost:8090/user/get

测试.png

进入控制台 修改配置文件

修改配置.png

参照官方文档
在 Nacos Spring Cloud 中,dataId 的完整格式如下:
${prefix}-${spring.profile.active}.${file-extension}

  • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
  • spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 ${prefix}.${file-extension}
  • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 propertiesyaml 类型。

再次访问http://localhost:8090/user/get

image.png

无须重启项目 配置已经修改成功

点个赞吧!!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容