首页 > 其他分享 >Nacos-多环境配置共享

Nacos-多环境配置共享

时间:2023-06-21 09:46:06浏览次数:35  
标签:配置 Nacos springframework yaml user import 共享 id

微服务启动时会从nacos读取多个配置文件:

[spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml  【nacos中定义的配置文件:服务名-环境.后缀名】

[spring.application.name].yaml,例如:userservice.yaml              【服务名.后缀名】与环境无关

无论profile如何变化,[spring.application.name].yaml这个文件【即userservice.yaml】一定会加载,因此多环境共享配置可以写入这个文件

 

1、在nacos控制台新建userservice.yaml配置文件

2、

package cn.itcast.user.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Data
@Component
@ConfigurationProperties(prefix = "pattern") //只要前缀名和变量名两者拼接与配置配置文件一致,就能完成属性的自动注入
public class PatternProperties {
    private String dateformat;
    private String envSharedValue;
}

 

package cn.itcast.user.web;

import cn.itcast.user.config.PatternProperties;
import cn.itcast.user.pojo.User;
import cn.itcast.user.service.UserService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.*;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

@Slf4j
@RestController
@RequestMapping("/user")
//@RefreshScope
public class UserController {

    @Autowired
    private UserService userService;

//    @Value("${pattern.dateformat}")
//    private String dateformate;
    @Autowired
    private PatternProperties patternProperties;


    @GetMapping("now")
    public String now(){
        return LocalDateTime.now().format(DateTimeFormatter.ofPattern(patternProperties.getDateformat()));
    }

    @GetMapping("prop")
    public PatternProperties properties(){
        return patternProperties;
    }

    /**
     * 路径: /user/110
     *
     * @param id 用户id
     * @return 用户
     */
    @GetMapping("/{id}")
    public User queryById(@PathVariable("id") Long id) {
        System.out.println(id);
        return userService.queryById(id);
    }
}

多种配置的优先级:

  服务名-profile.yaml  >  服务名称.yaml  >  本地配置

  nacos中的配置 > 本地配置

  nacos:当前环境配置 > 多环境共享配置

 

微服务会从nacos读取的配置文件:

   [服务名]-[spring.profile.active].yaml,环境配置

   [服务名].yaml,默认配置,多环境共享

优先级:

   [服务名]-[环境].yaml >[服务名].yaml > 本地配置

标签:配置,Nacos,springframework,yaml,user,import,共享,id
From: https://www.cnblogs.com/fxzm/p/17494951.html

相关文章

  • SpringBoot之MVC配置(WebMvcConfigurer详解)
    一:基本介绍SpringMVC是一种常用的JavaWeb框架,它提供了一种基于MVC模式的开发方式,可以方便地实现Web应用程序。在SpringMVC中,WebMvcConfigurer是一种常用的配置方式,可以允许我们自定义SpringMVC的行为,比如添加拦截器、消息转换器等。在本文中,我们将介绍什么是WebMvcConfi......
  • Nginx配置详解
    1基本概念1.1Nginx简介Nginx是一个高性能的HTTP和反向代理服务器,特点是占用内存少,并发能力强,事实上Nginx的并发能力确实在同类型的网页服务器中表现好。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表明能支持高达50000个并发连接......
  • CentOS配置snmp
    CentOS配置snmp切换到系统管理员帐户安装snmp查看SNMP是否安装rpm-qa|grepsnmp确认snmp代理已安装rpm-qnet-snmp如果未安装,安装snmpyuminstallnet-snmp设置开机自动运行snmp/sbin/chkconfigsnmpdon配置snmp编辑/etc/snmp/snmpd.conf更改团体名查找......
  • 如何通过DNS和AAM为SharePoint Server 2019 配置host name
    Blog链接:https://blog.51cto.com/13969817Host-NamedSiteCollections是在SharePointServer中部署网站的首选方法,它允许WebFrontEnd在同一IP地址和端口组合上承载多个网站。如果传入的HTTP请求包含hostheader名称,并且IIS中配置了匹配的hostheader,则IIS将使用相应网站的内容进......
  • 多路Qt串口通信源码C++语言接口自定义协议帧Qt读写配置文件ini出售: 可变长定长通信接
    多路Qt串口通信源码C++语言接口自定义协议帧Qt读写配置文件ini出售:可变长定长通信接口协议实现Qt多路串口发送接收SerialProtocol.rar工控自定义报文可用于嵌入式,单片机,ARM,DSP等常见的串口通信中,出售在应用实践中编写总结的源代码,实现自定义的串口通信协议,包括报文头部、长度......
  • Nacos-配置热更新【自动刷新】
    Nacos中的配置文件变更后,微服务无需重启就可以感知,通过下面两种配置实现:方式一:在@Value注入的变量所在类上添加注解@RefreshScope 方式二:使用@ConfigurationProperties注解读取配置文件内容packagecn.itcast.user.config;importlombok.Data;importorg.springframewor......
  • mysql8修改大小写敏感配置
      前两天遇到一个问题,同样的步骤二进制安装mysql,有的大小写敏感,而有得不存在,而当他们做主从时就会产生问题,这里我们对主库进行了一个配置文件更改,如果直接更改就会提示数据目录的大小写敏感为1,而配置为0,mysql启动就会失败,只能通过目录拷贝,修改配置文件、重启的方式修改。1、停......
  • neon配置flatpak国内的源,并安装octave 8.2
    1、neon毕竟是基于ubuntu的,软件版本不是一般的老,octave官方仓库是6.4的,有些函数和插件竟然不支持了,只能安装8.2的,可以使用discover安装,那速度嘿嘿,谁用谁知道啊2、配置国内的源,使用上交大的源,先感谢上交大的辛苦付出。https://mirror.sjtu.edu.cn/docs/flathub进入后依次......
  • Nacos注册中心原理以及Eureka和Nacos的区别与联系
    nacos注册中心:服务提供者在注册中心注册服务信息服务消费者从注册中心定时拉取服务。【服务列表缓存,每隔30拉取更新列表】消费者远程调用服务提供者。服务注册到Nacos时,可以选择注册为临时或非临时实例,默认是临时实例采用心跳检测,每隔30s向注册中心发送心跳检测,当......
  • 死信队列 - 死信交换机绑定配置【RabbitMQ】
    一、逻辑图二、死信交换机绑定配置1packagecn.itcast.mq.config;23importorg.springframework.amqp.core.*;4importorg.springframework.context.annotation.Bean;5importorg.springframework.context.annotation.Configuration;67importjava.util.H......