第三章、SpringCloud教程 Nacos1.4.1 Config配置中心实现

内容介绍:

  • 在分布式系统中,由于服务数量巨多,为了方便服务 配置文件统一管理,实时更新,所以需要分布式配置中心组件。

  • Spring Cloud Alibaba Nacos Config 是 Spring Cloud Config 的替代方案。

  • Nacos Config 的存储配置功能为分布式系统中的外部化配置提供服务器端和客户端支持,可以在 Nacos 中集中管理 Spring Cloud 应用的外部属性配置。

实例:

引入依赖

注意springboot,springcloud,nacosserver 的版本 具体请查看: 版本说明

父类pom引入:

	<properties>
        <java.version>1.8</java.version>
        <spring-boot.version>2.3.2.RELEASE</spring-boot.version>
        <spring-cloud.version>Hoxton.SR8</spring-cloud.version>
        <nacos.version>2.2.5.RELEASE</nacos.version>
    </properties>
    <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>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>${spring-boot.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${nacos.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

模块项目引入:

		<dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

配置文件配置:

新建bootstrap.properties配置文件

server.port=9527
spring.application.name=nacos-provider
spring.profiles.active=local
spring.cloud.nacos.config.prefix=nacos-provider
spring.cloud.nacos.config.server-addr=192.168.1.166:8848
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.group=abc
spring.cloud.nacos.config.namespace=92692e78-5565-4584-9909-1bd52c5774ac

配置具体解释请看在nacos中创建配置文件的详解

为何创建bootstrap.properties呢?

解答:

  • Spring Boot 配置文件的加载顺序,依次为 bootstrap.properties > bootstrap.yaml > application.properties > application.yaml
  • 其他类型的配置文件也可以,只不过优先级低一点。
启动nacos

具体步骤可参考 : 上篇文章

在nacos上创建配置文件
  • 命名空间(Namespace):命名空间可用于进行不同环境的配置隔离。一般一个环境划分到一个命名空间

  • 配置分组(Group):配置分组用于将不同的服务可以归类到同一分组。一般将一个项目的配置分到一组

  • 配置集(Data ID):在系统中,一个配置文件通常就是一个配置集。一般微服务的配置就是一个配置集

创建命名空间:

在这里插入图片描述

创建配置:

在这里插入图片描述
在这里插入图片描述

选项介绍:

  • dataId :格式如下 ${prefix} - ${spring.profiles.active} . ${file-extension}
  • group 默认DEFAULT_GROUP

bootstrap.properties配置介绍:

  • prefix 默认为 spring.application.name 的值
  • spring.profiles.active 当前环境对应,比如 dev
  • file-extension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension来配置。
  • 当profile,active,file-extension 为空时直接填写 spring.application.name值即可 默认properties。
启动provider生产者项目

启动类:

package com.nacos.provider;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

@SpringBootApplication
//开启服务注册发现功能
@EnableDiscoveryClient
public class NacosProviderApplication implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(NacosProviderApplication.class);
    }
    @Value("${aa.bb}")
    private String test;

    @Override
    public void run(String... args) throws Exception {
        System.out.println(test);
    }
}

日志:
在这里插入图片描述

springcloud的其他组件教程学习可进入springcloud全家桶学习

全家桶连接地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

酸菜鱼(szy)

如果给您提供帮助的话可以打赏哦

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值