Struct Util 是一个 Java 语言开发的结构化数据映射处理工具。Struct Util 主要解决两个方面的问题。第一个方面将*.xls, *.csv 等配置友好型数据源转换为业务侧友好型的 bean 结构,对配置数据和使用数据进行解耦,让开发和运营、策划三方实现共赢。第二方面解决了数据表热重载,数据有条件过滤,表结构跨表引用等等应用相关的问题。
点击阅读Struct Util 权威指南 - 集成到Spring Boot全家桶
Struct Util 是一个 Java 语言开发的结构化数据映射处理工具。Struct Util 主要解决两个方面的问题。第一个方面将*.xls, *.csv 等配置友好型数据源转换为业务侧友好型的 bean 结构,对配置数据和使用数据进行解耦,让开发和运营、策划三方实现共赢。第二方面解决了数据表热重载,数据有条件过滤,表结构跨表引用等等应用相关的问题。
StructUtil是博主个人作品, 稍微有自吹自擂的嫌疑, 欢迎收藏。哈哈, 因为是个人作品,应该是足够”权威”了。嘻嘻~~
struct-spring-boot-starter 模块
struct-spring-boot-starter 主要是针对 struct-spring 的扩展,用于支持 Spring Boot 框架,通过自动化配置,降低 struct-spring 的使用门槛。
模块依赖 Spring Boot 2.5.x 版本, 更高版本未经过测试.
首先引入依赖包
1
implementation('org.structutil:struct-spring-boot-starter:{VERSION}')
前缀 struct 配置
注解名称 | 缺省值 | 可选字段 | 备注 |
---|---|---|---|
structRequiredDefault | false | Y | 字段依赖缺省值, 字段必须不为null |
ignoreEmptyRow | true | Y | 是否忽略数据源中的空行 |
arrayConverter.stringSeparator | ’|’ | Y | 数组转换器的分隔符 |
arrayConverter.stringTrim | true | Y | 是否调用trim方法处理字符串 |
arrayConverter.ignoreBlank | false | Y | 是否忽略空字符串 |
前缀 struct.store.service 配置
定义数据文件的结构.
注解名称 | 缺省值 | 可选字段 | 备注 |
---|---|---|---|
workspace | ’./data/’ | N | 工作空间根目录路径 |
lazyLoad | true | Y | 是否按需加载,异步加载. |
watchFile | true | Y | 是否启用文件变动监听 |
scheduleInitialDelay | 10000 | Y | watchFile为true时有效,初始定时检查任务的时间. |
scheduleDelay | 5000 | Y | watchFile为true时有效,定时检查任务的间隔时间. |
scheduleTimeUnit | SECONDS | Y | watchFile为true时有效,定时检查任务的时间单位. |
banner | true | Y | 打印Struct Util的Banner. |
Spring 框架 缺省配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#===================================== Struct Util Configuration ======================================
# 是否启用spring-boot-starter自动配置. 默认:true
struct.store.enable=true
# 是否开启StructStoreService服务. 默认:true
struct.store.service.enable=true
# 工作空间
struct.store.service.workspace=./data/
# StructStore是否通过懒加载方式初始化. 默认:true
struct.store.service.lazy-load=false
# 是否启用FileWatchService监控文件变更. 默认:true
struct.store.service.watch-file=true
# 文件变更监控的扫描定时任务初始间隔. 默认:10
struct.store.service.schedule-initial-delay=10
# 文件变更监控的扫描间隔. 默认:5
struct.store.service.schedule-delay=5
# 文件变更监控的扫描间隔时间单位. 默认:秒
struct.store.service.schedule-time-unit=SECONDS
# 懒加载模式下,在读取数据时, StructStore为初始化完成时,是否同步等待加载完成. 魔人:true
struct.store.service.sync-wait-for-init=true
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 TinyZ Zzh (包含链接: https://tinyzzh.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。 如有任何疑问,请 与我联系 (tinyzzh815@gmail.com) 。
评论