0


nacos配置部署与管理

nacos配置部署与管理

配置文件

首先新建配置文件

  • Data ID:配置文件的名称(唯一)
  • 命名规范:服务名称-运行环境-后缀名(一般使用你yaml)
  • Group:分组名称,一般使用默认
  • 配置内容:一般填写需要频繁更换修改的配置,例如:一些开关,参数之类的

配置获取顺序:

项目启动
读取bootstrap.yml文件
读取nacos配置文件
读取本地配置文件application.yml
创建spring容器
加载bean

因为读取nacos配置文件的优先级要比application的优先级高,所以nacos的配置信息放在application里就不能满足我们的需求,所以spring提供了一个bootstrap的文件,它的优先级要比nacos高,我们习惯把nacos的配置信息存放在bootstrap中

  1. 引入nacos的配置管理客户端依赖
<!--        nacos配置--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.2.5.RELEASE</version></dependency>
  1. 创建bootstrap.yml文件配置nacos信息
spring:application:name: userservice #服务名称profiles:active: dev #开发环境cloud:nacos:config:file-extension: yaml #文件后缀名server-addr: localhost:8848#nacos地址
  1. 通过@value注解获取相应的配置信息
@Component@DatapublicclassConfix{@Value("${pattern.dataformat}")//yyyy-MM-dd HH:mm:ssprivateString dataformat;}
@AutowiredprivateConfix confix;@GetMapping("/get")publicStringnow(){returnLocalDateTime.now().format(DateTimeFormatter.ofPattern(confix.getDataformat()));}

nacos配置热部署

  • 方式一:@RefreshScope

 通过@RefreshScope注解可以实现配置的热部署,经过@RefreshScope注解修饰的bean,将被RefreshScope进行代理,用来实现配置、实例热加载,即当配置变更时可以在不重启应用的前提下刷新bean中相关的属性值

@Component@Data@RefreshScopepublicclassConfix{@Value("${pattern.dataformat}")privateString dataformat;}
  • 方式二:@ConfigurationProperties

 使用@ConfigurationProperties注解标注配置类,在通过Nacos发布配置后,配置类会被重新rebind,此时变量动态修改生效,使用的地方通过@Autowired注入。

@Component@Data@ConfigurationProperties(prefix ="pattern")publicclassConfix{privateString dataformat;}
前缀名(@ConfigurationProperties(prefix = "pattern"))和变量名(dataformat)拼接后要和配置文件一致
标签: spring java spring boot

本文转载自: https://blog.csdn.net/weixin_58286934/article/details/128490404
版权归原作者 只因妮泰妹 所有, 如有侵权,请联系我们删除。

“nacos配置部署与管理”的评论:

还没有评论