nacos使用占位符${}进行参数配置的方法

作者:夏威夷8080 时间:2022-07-15 08:59:07 

nacos使用占位符${}进行参数配置的方法

有的时候,我们的nacos会出现一个配置文件里,有多个配置项对应的值都是一样的,这个时候nacos就可以用到占位符${}进行参数配置。

例如下面的这个配置

system:
 mapApi:
   host: http://192.168.11.222:
   port: 7777
   header: Authorization
   timeout: 100000
 bigDataApi:
   host: http://192.168.11.222:
   port: 8888
   header: Authorization
   timeout: 200000

可以使用$占位符,进行如下配置

system:
 mapApi:
   host: http://192.168.11.222:
   port: 7777
   header: Authorization
   timeout: 100000
 bigDataApi:
   host: ${system.mapApi.host}
   port: 8888
   header: ${system.mapApi.header}
   timeout: 200000

nacos使用占位符${}进行参数配置后,固定相同值的属性以后就只要改一遍就可以了,是不是很方便?

补充知识点:

Spring cloud alibaba Nacos配置中心多数据源配置,Nacos使用占位符${}进行参数配置,Nacos配置MySQL持久化保存配置信息

引入相关依赖,${spring-cloud-starter.version}是我定义的版本变量,可以改成具体版本,例如:2.2.3.RELEASE

<dependency>
     <groupId>com.alibaba.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
     <version>${spring-cloud-starter.version}</version>
</dependency>
<dependency>
     <groupId>com.alibaba.cloud</groupId>
     <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
     <version>${spring-cloud-starter.version}</version>
</dependency>

项目中配置文件,本次我使用了两个文件,具体配置信息如下

bootstrap.yml 配置参数

spring:
 application:
   name: hm-user #需要与配置中心的文件前缀匹配
 profiles:
   active: dev #环境

bootstrap-dev.yml 配置参数

spring:
 profiles: dev
 cloud:
   nacos:
     #配置中心设置
     config:
       username: nacos
       password: nacos
       #设置配置中心服务端地址
       server-addr: 127.0.0.1:8848
       namespace: hm-dev
       file-extension: yml
       #引用扩展配置
       extension-configs[0]:
         dataId: hm-client-info.yml #扩展配置的名字
         group: DEFAULT_GROUP #扩展配置的分组
         refresh: true #刷新

Nacos配置文件如下

nacos使用占位符${}进行参数配置的方法

hm-client-info.yml 配置参数

hm:
 redis:
   host: 127.0.0.1
   port: 6379
   database: 2
 mysql:
   url: jdbc:mysql://127.0.0.1:3306/jpa_test_db?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
   username: root
   password: abc4561231

hm-user.yml 配置参数

server:
 port: 8081
spring:
 datasource:
   url: ${hm.mysql.url}
   username: ${hm.mysql.username}
   password: ${hm.mysql.password}
   #驱动类
   driver-class-name: com.mysql.cj.jdbc.Driver
 redis:
   host: ${hm.redis.host}
   port: ${hm.redis.port}
   database: ${hm.redis.database}
 cloud:
   sentinel:
     enabled: true
     transport:
       dashboard: 127.0.0.1:7777
user:
 name: ${hm.redis.host}——${hm.mysql.username}
 age: ${hm.redis.port}

创建一个properties类获取配置文件中的信息

@Component
@ConfigurationProperties("user")
public class NacosConfigConfiguration {
   public String name;
   public String age;

public String getName() {
       return name;
   }

public void setName(String name) {
       this.name = name;
   }

public String getAge() {
       return age;
   }

public void setAge(String age) {
       this.age = age;
   }
}

启动项目在set方法中打断点,查看值是否正确

nacos使用占位符${}进行参数配置的方法

Nacos配置MySQL持久化,Nacos下载地址

我本次下载的是.zip的压缩包

nacos使用占位符${}进行参数配置的方法


将压缩包解压进入 nacos\conf 目录,修改 application.properties 中的数据源
1、开启spring.datasource.platform
2、添加自己想要配置的数据库地址与账号密码

nacos使用占位符${}进行参数配置的方法

3、去配置的MySQL数据库中,创建对应的database nacos_config
4、在nacos_config控制台中执行 nacos-mysql.sql 中的SQL语句

nacos使用占位符${}进行参数配置的方法

来源:https://www.cnblogs.com/shamo89/p/17005188.html

标签:nacos,占位符,${}
0
投稿

猜你喜欢

  • java中驼峰与下划线的写法互转

    2023-09-21 09:47:36
  • servlet实现文件上传、预览、下载、删除功能

    2023-11-16 21:52:48
  • Java中ShardingSphere分库分表实战

    2023-11-24 09:20:37
  • Spring实战之使用ClassPathResource加载xml资源示例

    2023-11-28 23:00:30
  • 浅谈Android开发中项目的文件结构及规范化部署建议

    2022-05-13 12:47:37
  • Java服务器主机信息监控工具类的示例代码

    2023-07-26 04:34:49
  • Android TextView实现跑马灯效果的方法

    2023-07-30 20:44:12
  • 如何自动生成Mybatis的Mapper文件详解

    2023-07-28 08:20:54
  • Mybatis-plus多租户项目实战进阶指南

    2023-10-10 18:14:43
  • java生成XML的方法

    2023-08-12 11:45:46
  • 宝塔面板配置及部署javaweb教程(全网最全)

    2023-11-10 15:26:27
  • C#词法分析器之正则表达式的使用

    2023-06-21 13:10:58
  • Java数据结构与算法之循环队列的实现

    2023-11-02 11:51:29
  • Java中LocalDateTime的具体用法

    2023-11-23 14:00:05
  • 高并发下如何避免重复数据产生技巧

    2022-04-17 07:08:57
  • java poi导出图片到excel示例代码

    2023-10-30 00:13:17
  • Java文件操作工具类fileUtil实例【文件增删改,复制等】

    2023-11-28 08:39:00
  • 详解java构建者模式Builder

    2021-11-16 18:49:32
  • java控制台打印本月的日历

    2023-10-15 22:58:12
  • Springbean的几种注入方式都了解吗

    2023-01-09 05:37:10
  • asp之家 软件编程 m.aspxhome.com