首页 > 其他分享 >0307_【理解】配置数据管理

0307_【理解】配置数据管理

时间:2022-12-27 00:44:39浏览次数:46  
标签:versions 理解 nacos public 数据管理 0307 alibaba com junit

1、
// https://mvnrepository.com/artifact/com.alibaba.nacos/nacos-client
implementation group: 'com.alibaba.nacos', name: 'nacos-client', version: '2.0.2'

2、
ext.versions = [ // 定义全部的依赖库版本号

springboot : '2.2.5.RELEASE', // SpringBoot版本号
springcloud : 'Hoxton.SR3', // SpringCloud版本号
alibabacloud : '2.2.1.RELEASE', // SpringCloudAlibaba版本号
lombok : '1.18.20', // Lombok版本号
junit : '5.6.3', // 配置JUnit测试工具的版本编号
junitPlatformLauncher: '1.6.3', // JUnit测试工具运行平台版本编号
mybatisPlus : '3.4.3', // MyBatisPlus的版本号
mysql : '8.0.25', // MySQL数据库驱动版本
druid : '1.2.6', // Druid版本号
swagger : '3.0.0', // Swagger版本号
nacos : '2.0.2', // Nacos版本号

]

 

ext.libraries = [            // 依赖库引入配置

'spring-boot-gradle-plugin' :"org.springframework.boot:spring-boot-gradle-plugin:${versions.springboot}",
'spring-cloud-dependencies' :"org.springframework.cloud:spring-cloud-dependencies:${versions.springcloud}",
'spring-cloud-alibaba-dependencies':"com.alibaba.cloud:spring-cloud-alibaba-dependencies:${versions.alibabacloud}",
// 以下的配置为与项目用例测试有关的依赖
'junit-jupiter-api' :"org.junit.jupiter:junit-jupiter-api:${versions.junit}",
'junit-vintage-engine' :"org.junit.vintage:junit-vintage-engine:${versions.junit}",
'junit-jupiter-engine' :"org.junit.jupiter:junit-jupiter-engine:${versions.junit}",
'junit-platform-launcher' :"org.junit.platform:junit-platform-launcher:${versions.junitPlatformLauncher}",
'junit-platform-engine' :"org.junit.platform:junit-platform-engine:${versions.junitPlatformLauncher}",
'junit-jupiter-params' :"org.junit.jupiter:junit-jupiter-params:${versions.junit}",
'junit-bom' : "org.junit:junit-bom:${versions.junit}",
'junit-platform-commons' :"org.junit.platform:junit-platform-commons:${versions.junitPlatformLauncher}",
// 以下的配置为Lombok组件有关的依赖
'lombok' : "org.projectlombok:lombok:${versions.lombok}",
// 以下的配置为数据库开发有关的依赖
'mybatis-plus-boot-starter' : "com.baomidou:mybatis-plus-boot-starter:${versions.mybatisPlus}",
'mysql-connector-java' : "mysql:mysql-connector-java:${versions.mysql}",
'druid' : "com.alibaba:druid:${versions.druid}",
// 以下的配置为Swagger有关的依赖库
'springfox-boot-starter' : "io.springfox:springfox-boot-starter:${versions.swagger}",
// 以下的配置为Nacos有关的依赖库
'nacos-client' : "com.alibaba.nacos:nacos-client:${versions.nacos}"

]

 

3、
project(":nacos-example") { // Nacos核心的讲解模块

    dependencies {

  implementation(project(":common-api")) // 导入公共的子模块
  implementation(libraries.'nacos-client') // Nacos标准模块

}
}

 

4、
package com.yootk.nacos;

import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.PropertyKeyConst;
import com.alibaba.nacos.api.config.ConfigService;

import java.util.Properties;

public class PublishNacosConfig {   // 发布Nacos配置项

 public static final String NACOS_SERVER = "nacos-server:8848"; // Naco连接地址

// 此时的命名空间使用的是自定义命名空间(名称为“muyan”,去Nacos中查找)
public static final String NAMESPACE = "0007211f-2731-495f-bf7e-6845bda78727"; // 命名空间
public static final String GROUP = "MICROCLOUD_GROUP"; // 分组
public static final String DATA_ID = "com.yootk.nacos.microcloud.config"; // 存储的KEY

 

  public static void main(String[] args) throws Exception { // xx科技:www.xx.com

 String content = "edu.yootk.com"; // 要保存的配置项内容

   Properties properties = new Properties(); // 将Nacos的相关属性进行配置

 // 如果要想进行属性的配置,则一定要注意属性的KEY的名称

        properties.put(PropertyKeyConst.SERVER_ADDR, NACOS_SERVER); // 服务地址属性

  properties.put(PropertyKeyConst.NAMESPACE, NAMESPACE); // 命名空间 

        // 创建完连接之后,会将此连接包装为ConfigService对象实例返回,这里面实现各种数据操作

ConfigService configService = NacosFactory.createConfigService(properties); // 创建配置实例
boolean isOk = configService.publishConfig(DATA_ID, GROUP, content); // 发布配置项
System.out.println(isOk ? "Nacos配置项发布成功!" : "Nacos配置项发布失败!");

}

}

 

5、
package com.yootk.nacos;

import com.alibaba.nacos.api.NacosFactory;
import com.alibaba.nacos.api.PropertyKeyConst;
import com.alibaba.nacos.api.config.ConfigService;
import com.alibaba.nacos.api.config.listener.Listener;

import java.util.Properties;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;

 

public class NacosConfigListener {   // 发布Nacos配置项

public static final String NACOS_SERVER = "nacos-server:8848"; // Naco连接地址
// 此时的命名空间使用的是自定义命名空间(名称为“muyan”,去Nacos中查找)
public static final String NAMESPACE = "0007211f-2731-495f-bf7e-6845bda78727"; // 命名空间
public static final String GROUP = "MICROCLOUD_GROUP"; // 分组
public static final String DATA_ID = "com.yootk.nacos.microcloud.config"; // 存储的KEY

   public static void main(String[] args) throws Exception { // 沐言科技:www.yootk.com

Properties properties = new Properties(); // 将Nacos的相关属性进行配置
// 如果要想进行属性的配置,则一定要注意属性的KEY的名称
properties.put(PropertyKeyConst.SERVER_ADDR, NACOS_SERVER); // 服务地址属性
properties.put(PropertyKeyConst.NAMESPACE, NAMESPACE); // 命名空间

// 创建完连接之后,会将此连接包装为ConfigService对象实例返回,这里面实现各种数据操作
ConfigService configService = NacosFactory.createConfigService(properties); // 创建配置实例
String content = configService.getConfig(DATA_ID, GROUP, 50000); // 获取配置项

System.err.println("【初始化配置】" + DATA_ID + " = " + content);
// 一般来讲是在服务启动的时候进行配置数据的读取,但是也需要提供有配置数据的更新

configService.addListener(DATA_ID, GROUP, new Listener() {

  @Override
  public Executor getExecutor() {
  return null;
  }

  @Override
  public void receiveConfigInfo(String configInfo) { // 每当更新后可以自动的接收更新
  System.err.println("【配置项更新】" + DATA_ID + " = " + configInfo);
  }

});

 TimeUnit.MINUTES.sleep(Long.MAX_VALUE); // 持续休眠

 

 

 

}

}

标签:versions,理解,nacos,public,数据管理,0307,alibaba,com,junit
From: https://www.cnblogs.com/cnetsa/p/17007203.html

相关文章

  • 感觉理解不是很透彻
    110.平衡二叉树/***<Ahref="https://leetcode.cn/problems/balanced-binary-tree/">110.平衡二叉树</A>*<BR>*/publicbooleanisBalance......
  • 0210_【理解】Swagger安全配置
    1、//https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-securityimplementationgroup:'org.springframework.boot',name:'spring-b......
  • 0209_【理解】REST接口描述
    1、packagecom.yootk.provider.config;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration; import......
  • 0208_【理解】Swagger接口描述
    1、//https://mvnrepository.com/artifact/io.springfox/springfox-boot-starterimplementationgroup:'io.springfox',name:'springfox-boot-starter',version:'3.0......
  • 同步、异步、阻塞、非阻塞---BIO、NIO、AIO的简单理解
    概念BIO:同步并阻塞,服务实现模式为一个连接对应一个线程,即客户端发送一个连接,服务端要有一个线程来处理。如果连接多了,线程数量不够,就只能等待,即会发生阻塞。NIO:同步非阻塞,服......
  • 正确理解和使用JAVA中的字符串常量池
    前言研究表明,Java堆中对象占据最大比重的就是字符串对象,所以弄清楚字符串知识很重要,本文主要重点聊聊字符串常量池。Java中的字符串常量池是Java堆中的一块特殊存储区域,用......
  • 理解 LSTM 网络
     发表于2015年8月27日 循环神经网络人类不会每一秒都从头开始思考。当你阅读这篇文章时,你会根据对之前单词的理解来理解每个单词。您不会扔掉所有东西并重新从头开......
  • 『DL笔记』深入理解softmax交叉熵损失函数反向传播求导过程分析
    目录​​一、softmax函数​​​​二、损失函数lossfunction​​​​三、最后的准备工作                         ......
  • SVM笔记1:SVM中超平面的理解!
    一、什么是超平面以上是三维为例子。 通过查阅资料对超平面有了一定的认识, 维空间中的超平面由下面的方程确定:                  ......
  • 如何理解redis两种不同的持久化方式
    其实redis就是一种高级的以键值对形式存储数据的数据库,而它的好处就是他可以支持数据的持久化,其实redis之所以会有这样的优点,主要是因为,redis的数据都是存放在内存中的,如果......