首页
  • 2024.1.1.0
  • 2024.1.1.1
  • 2024.1.2.0
  • 2024.1.3.0
  • Java
  • Linux
  • Deploy
  • Application
关于
友情链接
GitHub (opens new window)

Xiao ku

板砖师傅
首页
  • 2024.1.1.0
  • 2024.1.1.1
  • 2024.1.2.0
  • 2024.1.3.0
  • Java
  • Linux
  • Deploy
  • Application
关于
友情链接
GitHub (opens new window)
  • 版本日志
  • 贡献清单
  • 2024.1.3.0

  • 2024.1.2.0

  • 2024.1.1.1

  • 2024.1.1.0

    • Simple-Starter概述
    • 自动装配模块

    • 服务类模块

      • simple-base-config
        • 简介
        • 拆分客户端及服务端使用
          • 启动服务端
          • 引入客户端
          • 引入依赖-方式1
          • 引入依赖-方式2
          • 配置项
          • 存储数据
          • 获取数据
          • 工具类 ConfigUtils
        • 融合客户端和服务端使用
          • 引入依赖
          • 查看服务端接口
      • simple-base-s3
      • simple-base-generator
      • simple-base-dict
  • OpenSource
  • 2024.1.1.0
  • 服务类模块
xiaoku
2023-03-31
目录

simple-base-config

# 简介

可作用于系统基础配置参数

模块

simple-base-config-api 参数配置服务-客户端:   
    若只引入客户端需要启动服务端并(配置服务端调用地址 或 开启服务自动发现)  
	主要功能:启动自动初始化配置值到数据库中、可选覆盖数据
simple-base-config-service 参数配置服务-服务端:  
    可直接引入依赖,作为客户端也作为服务端  
	主要功能:数据表结构将自动创建、开放基础调用接口 
1
2
3
4
5
6

# 拆分客户端及服务端使用

# 启动服务端

下载代码

git clone https://github.com/ok1996/ok-system-simple.git
1

增加启动BaseConfigServiceApplication的vm配置--无需连接Nacos

-Dspring.datasource.dynamic.datasource.master.url=jdbc:mysql://127.0.0.1:3306/simple_demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
-Dspring.datasource.dynamic.datasource.master.username=
-Dspring.datasource.dynamic.datasource.master.password=
1
2
3

若要连接Nacos则再增加配置

-Dspring.cloud.nacos.server-addr=http://127.0.0.1:8848
-Dspring.cloud.nacos.username=
-Dspring.cloud.nacos.password=
-Dspring.cloud.nacos.discovery.enabled=true
-Dspring.cloud.nacos.discovery.namespace=
-Dspring.cloud.nacos.config.enabled=true
-Dspring.cloud.nacos.config.namespace=
1
2
3
4
5
6
7

# 引入客户端

# 引入依赖-方式1

所需工程使用仅需引入客户端依赖

    <dependencies>
        <dependency>
            <groupId>cn.iosd</groupId>
            <artifactId>simple-base-config-api</artifactId>
            <version>Version</version>
        </dependency>
    </dependencies>
1
2
3
4
5
6
7

# 引入依赖-方式2

所需工程使用,引入服务端依赖,并通过配置文件关闭服务端功能,仅使用客户端功能
便于灵活切换启用本身作为服务端

    <dependencies>
        <dependency>
            <groupId>cn.iosd</groupId>
            <artifactId>simple-base-config-service</artifactId>
            <version>Version</version>
        </dependency>
    </dependencies>
1
2
3
4
5
6
7

配置项-关闭服务端功能

simple:
  scan:
    ## 关闭service依赖中service服务端,仅使用service依赖中的api客户端
    service:
      enabled: false
1
2
3
4
5

# 配置项

若要连接Nacos则再增加vm配置

-Dspring.cloud.nacos.server-addr=http://127.0.0.1:8848
-Dspring.cloud.nacos.username=
-Dspring.cloud.nacos.password=
-Dspring.cloud.nacos.discovery.enabled=true
-Dspring.cloud.nacos.discovery.namespace=
-Dspring.cloud.nacos.config.enabled=true
-Dspring.cloud.nacos.config.namespace=
1
2
3
4
5
6
7

情况1:若工程 或 服务端 没有启用服务发现,则需要在客户端中配置调用服务端的调用地址

simple:
  feign:
    base:
      ## simple-base-config-api
      config:
        # 未开启注册中心需要指定调用地址
        url: http://localhost:9010
1
2
3
4
5
6
7

情况2:若工程 和 服务端 均启用服务发现,则在客户端中配置调用服务端的调用地址为空即可

simple:
  feign:
    base:
      config:
        # 未开启注册中心需要指定调用地址
        url: 
1
2
3
4
5
6

# 存储数据

启动自动初始化数据

示例:

/**
 * 初始化数据
 * <p>
 * 创建初始化对象,提供一些常量和方法实现
 *
 * @author ok1996
 */
@Component
public class DemoTestConfigInit {
    /**
     * 一班参数key
     */
    public static final String STUDENT_KEY_ONE = "student-key-test-one";

    /**
     * 二班参数key
     */
    public static final String STUDENT_KEY_TWO = "student-key-test-two";

    @Bean
    public ConfigInit studentTestOneInit() {
        ConfigInit configInit = new ConfigInit(STUDENT_KEY_ONE, "一班同学列表", false, List.of("模块分类1", "分类1-1"));
        configInit.setCodeValues(List.of(
                new CodeValue<Boolean>().setCode(ConfigUtils.OPEN_SIMULATION_CODE).setValue(true),
                new CodeValue<ClassmateVo>().setCode(ConfigUtils.CONTENT_DATA_CODE)
                        .setValue(ClassmateVo.builder().personList(List.of(
                                        ClassmateVo.Person.builder().age(12).name("小库").build(),
                                        ClassmateVo.Person.builder().age(14).name("小明").build()))
                                .build())
        ));
        return configInit;
    }

    @Bean
    public ConfigInit studentTestTwoInit() {
        ConfigInit configInit = new ConfigInit(STUDENT_KEY_TWO, "二班同学列表", false, List.of("模块分类1", "分类1-2"));
        configInit.setCodeValues(List.of(
                new CodeValue<Boolean>().setCode(ConfigUtils.OPEN_SIMULATION_CODE).setValue(true),
                new CodeValue<ClassmateVo>().setCode(ConfigUtils.CONTENT_DATA_CODE)
                        .setValue(ClassmateVo.builder().personList(List.of(
                                        ClassmateVo.Person.builder().age(14).name("小雪").build(),
                                        ClassmateVo.Person.builder().age(15).name("小楚").build()))
                                .build())
        ));
        return configInit;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

# 获取数据

示例-获取key-test数据:

    @Autowired(required = false)
    private IBaseConfigService configService;

    /**
     * 获取同学列表信息
     *
     * @return 返回同学列表信息的ClassmateVo对象
     */
    public ClassmateVo classmateList() {
        if (configService == null) {
            return null;
        }
        // 从基础参数服务中获取基础参数码值对象的列表
        List<CodeValue<?>> simulation = configService.selectValueListByKey(DemoTestConfigInit.STUDENT_KEY_ONE);
        // 判断是否开启模拟数据
        if (!ConfigUtils.findFirstByCode(simulation, ConfigUtils.OPEN_SIMULATION_CODE, false)) {
            log.info("获取其他来源途径的数据");
            return null;
        }
        // 获取存储的模拟数据,并将其转换为对应的实体类
        return ConfigUtils.findFirstByCode(simulation, ConfigUtils.CONTENT_DATA_CODE, ClassmateVo.class,null);
    }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 工具类 ConfigUtils

各方法查看源码均提供注释说明

# 融合客户端和服务端使用

直接引入service依赖即包含客户端和服务端功能

# 引入依赖

    <dependencies>
        <dependency>
            <groupId>cn.iosd</groupId>
            <artifactId>simple-base-config-service</artifactId>
            <version>Version</version>
        </dependency>
    </dependencies>
1
2
3
4
5
6
7

# 查看服务端接口

例:可访问接口地址查看 http://127.0.0.1:9010/doc.html

上次更新: 2024/03/25, 02:28:08
simple-starter-package
simple-base-s3

← simple-starter-package simple-base-s3→

Copyright © 2019-2024
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式