如何获取nacos配置中属性值以及踩到的坑

流程:
1.在servciceorder(需要运行的服务) pom中加入依赖:

<!--nacosd的客户端依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

<!--nacos统一配置管理客户端依赖-->
<dependency>
   <groupId>com.alibaba.cloud</groupId>
   <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
   <version>2.1.1.RELEASE</version>
</dependency>

经测试:2.1.1.RELEASE版本可以在服务启动的时候控制台打印出nacos文件中的属性,这样起码可以知道是否连接到nacos配置文件了。这个不加不影响取值。效果:
![在这里插入图片描述](https://img-blog.csdnimg.cn/0ead48b46ad5420bbdf7b0ed8b1885f4.png在这里插入图片描述

2.新建bootstrap.yml
作用:用于存储nacos配置信息,实际开发中,我们要先读取nacos统一配置文件中的配置信息,而bootstrap.yml优先级高于 application.yml,项目启动时会先加载bootstrap.yml,找到nacos的配置信息,然后再去加载application.yml。

spring:
 application:
   name: userservice
 profiles:
   active: dev #环境
 cloud:
   nacos:
     server-addr: localhost:8848
     config:
       file-extension: yml #文件后缀名
       namespace: 8d2225df-e165-4211-8c9d-63a55f5e12d2 #命名空间的id。
    

注意:如果你的服务设置了命名空间,一定要加上namespace 的配置!!!
注意:这里是根据name(服务名)+ active + file-extension 组合起来去找对应nacos配置文件。

3.nacos的配置:
在这里插入图片描述
4.controller调用:

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

   //从配置文件中获取数属性,这里是测试获取nacos统一配置文件中的属性
   @Value("${pattern.dateformat}")
   private String sDateFormat;

   @Value("${myname}")
   private String sMyname;

   @GetMapping("now")
   public String now(){
       System.out.println("11:"+sDateFormat);
       System.out.println("22:"+sMyname);
       return LocalDateTime.now().format(DateTimeFormatter.ofPattern(sDateFormat));
   }
}

–>经过测试,@RefreshScope不写好像也可以。

浏览器访问查看效果:
在这里插入图片描述
控制台查看正常打印:
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值