栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Nacos入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Nacos入门

目录

一、nacos入门之配置文件application和bootstrap优先级问题

出现问题:由于bootstrap的优先级高,所以最终返回页面的内容本应该是:

解决:没有添加config依赖

二、Nacos入门之热部署

        1、局部方式

        2、全局方式

        3、多环境配置

        4、环境隔离


1、nacos入门之配置文件application和bootstrap优先级问题

application:

server:
  port: 8081
spring:
  application:
    name: user-service
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost:3306/cloud_user?useSSL=false
    username: root
    password: root

  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 # 连接nacos注册中心
        cluster-name: BJ
        ephemeral: false # 设置为非临时实例

conf:
  name: 张三
  desc: 这是配置在application.yml

 bootstrap:

spring:
  application:
    name: user-service
  cloud:
    nacos:
      config:
        server-addr: localhost:8848
        file-extension: yaml

ConfigController:

import com.itheima.user.domain.Conf;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ConfigController {

    @Value("${conf.name}")
    private String name;

    @Value("${conf.desc}")
    private String desc;

    @GetMapping("/config1")
    public Conf config(){
        Conf conf = new Conf();
        conf.setName(name);
        conf.setDesc(desc);
        return conf;
    }

}

nacos配置:

出现问题:由于bootstrap的优先级高,所以最终返回页面的内容本应该是:
{"name":"李四","desc":"这是配置在nacos中的"}

但是,事实并没有,返回的内容没变,仍然是application中配置的 张三!!!

原因居然是:!!!!!!!

解决:没有添加config依赖

汗!!!!!


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config

 2、Nacos入门之热部署

局部方式

使用@RefreshScope注解标注在配置信息的类上

 全局方式

1、将@ConfigurationProperties注解加到配置读取到的对象上

2、在需要使用的配置类中注入配置对象

多环境配置

nacos中新建配置

指定环境(一一对应)

配置的优先级

环境隔离

一个项目模块众多,放置在一起不易管理,显得臃肿。

环境隔离可以简单理解为:不同类别的配置文件放在不同的目录中

 创建命名空间

创建配置信息

读取配置信息

 spring:
  application:
    name: user-service
#  profiles:
#    active: test # 指定环境
  cloud:
    nacos:
      config:
        server-addr: localhost:8848 # nacos 配置中心地址
        file-extension: yaml  # 文件扩展名
        namespace: f81a11fe-73f4-4dff-b70d-04009fa36710 # 指定namespace的id
        group: USER_GROUP # 指定组名

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1007231.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号