首页
  • 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

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

    • 服务类模块

      • simple-base-config
      • simple-base-s3
      • simple-base-generator
      • simple-base-dict
        • 简介
        • 依赖关系及代码分析
        • 拆分客户端及服务端使用
          • 启动服务端
          • 引入客户端
          • 引入依赖-方式1
          • 引入依赖-方式2
          • 配置项
          • 使用字典翻译
          • 步骤1
          • 步骤2
        • 融合客户端和服务端使用
          • 引入依赖
          • 查看服务端接口
    • 工具类模块

  • 2024.1.1.1

  • 2024.1.1.0

  • OpenSource
  • 2024.1.2.0
  • 服务类模块
xiaoku
2023-09-15
目录

simple-base-dict

# 简介

可作用于字典服务及数据管理

模块

simple-base-dict-api 字典翻译服务-客户端:   
    若只引入客户端需要启动服务端并(配置服务端调用地址 或 开启服务自动发现)  
	主要功能:用于实现翻译逻辑调用
simple-base-dict-service 字典翻译服务-服务端:  
    可直接引入依赖,作为客户端也作为服务端  
	主要功能:数据表结构将自动创建、开放基础调用接口 
1
2
3
4
5
6

# 依赖关系及代码分析

依赖关系及代码分析

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

# 启动服务端

下载代码

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

增加启动BaseDictServiceApplication的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-dict-api</artifactId>
            <version>Version</version>
        </dependency>
    </dependencies>
1
2
3
4
5
6
7

# 引入依赖-方式2

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

    <dependencies>
        <dependency>
            <groupId>cn.iosd</groupId>
            <artifactId>simple-base-dict-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-dict-api
      param:
        # 未开启注册中心需要指定调用地址
        url: http://localhost:9030
1
2
3
4
5
6
7

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

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

# 使用字典翻译

# 步骤1

实体类增加注解 @DictField
若实体类内还有嵌套实体类需要翻译则使用 @DictEntity 如:

@Data
public class PersonRemoteVo {
    @Schema(description = "姓名")
    private String name;

    @Schema(description = "性别")
    @DictField(dictionaryParams = "sex", relatedField = "sexText")
    private Integer sex;
    
    private String sexText;
    
    @DictEntity
    private PersonVo personVo;
}

@Data
public class PersonVo {
    @Schema(description = "姓名")
    private String name;

    @Schema(description = "性别-默认实现类的json文件调用字典")
    @DictField(dictionaryParams = "leader", dictImplBeanName = "localDictServiceImpl", relatedField = "leaderText")
    private Integer leader;

    private String leaderText;
}

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
# 步骤2

在方法上增加注解 @Dict
标注该方法调用后返回是翻译后的数据

    @Dict
    public PersonRemoteVo getPersonRemoteVo() {
        return PersonRemoteVo.builder().name("吴小").idCard(1).hideIdentity(1).build();
    }
1
2
3
4

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

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

# 引入依赖

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

# 查看服务端接口

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

上次更新: 2024/03/25, 02:28:08
simple-base-generator
simple-utils-common

← simple-base-generator simple-utils-common→

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