yue-library简介

yue-library是一个基于SpringBoot封装的增强库

  • 内置丰富的JDK工具
  • 自动装配了一系列的基础Bean与环境配置项
  • 快速构建SpringCloud项目,让微服务变得更简单

版本更新日志

新特性

data-jdbc进行了重大优化,如下:

  1. 替换Db JavaBean转换方案,性能提升约300%+
  1. 优化Convert JavaBean转换性能
  1. 优化Convert异常提示,划分日志等级
  1. 重载驼峰转换方法到Convert类

JDBC实体类映射方案已重构,废弃了Spring的转换器方案,这是一次底层改动。我已测试了如下场景成功支持:

  1. 驼峰转换(自动映射、自动识别boolean is命名)
  1. JSONObject、JSONArray解析支持
  1. 支持实体类多set方法存在

新增如下RowMapper:

  1. BeanPropertyRowMapper,JavaBean映射两倍有余Spring原生的性能,支持更多类型映射,支持 JSONField 注解
  1. ColumnMapRowMapper,转换 Map 为 fastjson 的 JSONObject
  • 【base】优化异步线程池默认配置,完美解决异步上下文遇到的所有问题(包括并发模式与Servlet提前关闭导致的子线程获取不到参数异常)
  • 【base】全局统一异常处理新增FeignException处理,提供异常消息格式化构造
  • 【base】增强ExceptionUtils,提供多种堆栈打印方式与获取方式,并优化异常返回错误内容
  • 【base】Java全局网络代理配置,允许使用,分割(如:localhost|127.* localhost,127.*
  • 【base】新增R.errorPromptFormat()方法
  • 【base】提供最外层HTTP状态码503(停机维护)约定
  • 【base】新增JsonList驼峰等属性命名策略多个重载工具方法
  • 【base】增强validator校验框架,支持将@Valid注解添加到POJO类上
  • 【jdbc】规范排序、比较、预期、枚举,创建比较code定义命名规范类
  • 【jdbc】对BaseDO进行驼峰命名规范
  • 【jdbc】增强Db WHERE SQL对数组类型的处理

Bug修复

  • 【base】解决@Chinese注解中文汉字校验,value为空时的NullPointerException
  • 【web】HttpMessageConverter选用fastjson时,解析非json格式响应体错误 #I2ALJW

Maven仓库实际发布版本号

j8.2.3.0j11.2.3.0

关键pom.xml依赖:

工程结构

. yue-library
├── yue-library  基础库
│   ├── yue-library-dependencies  父pom
│   ├── yue-library-base          基础库提供了丰富的Java工具包,同时也自动装配了一系列基础Bean等
│   ├── yue-library-base-crypto   基于Hutool实现的加解密模块,提供诸如数据脱敏此类的更多特性
│   ├── yue-library-web           基础库WebMvc实现,用于servlet项目
│   ├── yue-library-webflux       基础库WebFlux实现,用于响应式编程项目(如:SpringCloudGateway)
│   ├── yue-library-data-jdbc     基于SpringJDBC进行二次封装,拥有着强大性能的同时又不失简单、灵活等
│   ├── yue-library-data-redis    基于SpringRedis进行二次封装,更简单灵活,提供全局token与登录相关特性等
│   ├── yue-library-auth-service  基于SpringSecurity进行二次封装,更简单灵活,提供全局token与登录等特性
│   ├── yue-library-auth-client   auth-client为auth-service客户端模块,提供获取当前登录用户状态信息等特性
│   ├── yue-library-pay           基于pay-java-parent进行二次封装,让你真正做到一行代码实现支付聚合
│   ├── yue-library-cloud-oss
│   └── yue-library-cloud-sms
├── yue-library-samples  基础库示例
│   ├── yue-library-test        yue-library代码测试项目:单元测试、接口测试、代码示例
│   ├── yue-library-test-webflux    yue-library-webflux代码测试项目:单元测试、接口测试、代码示例
│   ├── yue-library-template-simple    yue-library模版:SpringBoot项目模版
│   └── yue-library-template-ssc    yue-library模版:SpringCloud项目模版,SOA共享架构(阿里巴巴中台)
└── yue

快速开始

引入项目依赖

maven项目,在pom.xml文件中添加如下一段代码,并将${version}替换为对应版本号:

<parent><groupId>ai.ylyue</groupId><artifactId>yue-library-dependencies</artifactId><version>${version}</version>
</parent>

随后引入所需要的模块,如WebMvc项目引入:yue-library-web

依赖说明:yue-library-base为基础模块,一般情况下不需要单独引入,如:web、data-jdbc、data-redis等模块皆已默认依赖。

<dependencies><dependency><groupId>ai.ylyue</groupId><artifactId>yue-library-web</artifactId></dependency>...
</dependencies>

启动项目

新建一个SpringBoot main方法启动类:

@SpringBootApplication
public class TestApplication {public static void main(String[] args) throws Exception {SpringApplication.run(TestApplication.class, args);}}

写一个测试接口:

@RestController
@RequestMapping("/quickstart")
public class QuickstartController {@GetMapping("/get")public Result<?> get(JSONObject paramJson) {return ResultInfo.success(paramJson);}}

访问接口测试,如:http://localhost:8080/quickstart/get

{"code": 200,"msg": "成功","flag": true,"count": null,"data": {}
}

上面的代码完全保持了SpringBoot的风格,但又提供了更多特性增强,如:HTTP消息转换器对 Alibaba Fastjson 的支持,同时不再区分 query from-data json 等传参方式,默认也对 跨域、时间格式、异常、参数校验 等常见坑点进行了本土化处理与特性增强。

收藏一波以表支持吧(≧▽≦)/!

转换实体类_yue-library 2.3.0发布,替换Db JavaBean转换方案,性能提升约300%+相关推荐

  1. 转换实体类_利用Java反射机制进行Map和JavaBean间转换

    Java中利用反射进行Map和JavaBean间转换 在日常工作中,有时候我们可能会遇到以下这样的情况发生. 例如: (1)后端接受一个参数Map param(可能是前端form维护的一个对象...) ...

  2. aop+注解 实现对实体类的字段校验_SpringBoot2.0实战(6)整合hibernate-validator进行参数校验...

    spring-boot-starter-web 项目中默认已经集成了 hibernate-validator 相关知识 @AssertTrue // 用于 boolean 字段,该字段只能为 true ...

  3. mysql数据库容量和性能_新品速递丨容量盘性能提升超 300%,数据库支持 MySQL 8.0...

    2 关系型数据库 MySQL Plus 支持 MySQL 8.0 内核 及 XtraBackup 物理在线迁移方式 关系型数据库服务 MySQL Plus 发布新版本 1.0.6 , 新增多项功能,提 ...

  4. Map集合转换成实体类对象,实体类对象转换为map集合,互转工具类

    注 : 2019-06-16日 增加第六节 map与实体互转工具类,直接看第6节; 1.调用这个方法BeanMapUtils.mapToBean(),实现map集合转实体类对象; 注意: 这个方法转换 ...

  5. 实体类转换DTO的方式

    背景:在对外传输数据展示过程中,为了避免model层直接对外暴露,我们会多加一个对应的DTO保理想要传输的数据即可,隐藏model层. 应对: 1.第一种,如果是实体类字段类型都一样,大部分会采用be ...

  6. java实体类间的转换_java 实体类集合转换和实体类转换

    1.首先要先创建一个函数式接口接口(@FunctionalInterface),回调方法 @FunctionalInterface public interface BeanCopyUtilCallB ...

  7. xml转json和实体类的两种方式

    本文为博主原创,未经允许不得转载: xml在http通信中具有较高的安全性和传输速度,所以应用比较广泛, 在项目中往往需要对xml,json和实体类进行相互转换,在这里总结一下自己所用到的一些方法: ...

  8. android开发学习 ------- json数据与实体类之间的相互转换

    在网络请求的时候,会返回给我们实体类,我们需要将实体类转化为json字符串,方便处理数据: 有时候也会将json数据转换为实体类. 在Android Studio中,json要互相转换,需要用到gso ...

  9. Java中获取实体List中某时间属性离当前时间最近的实体类的某一属性

    场景 有一实体类的List,获取这条List中的创建日期属性离现在最近的一个实体的某个编号属性. 实现 思路: 声明一个变量用来存取将要获取的距离现在最近的某实体类的一属性值,并将list的第一个属性 ...

最新文章

  1. 深入浅出 消息队列 ActiveMQ(转)
  2. ubuntu登陆后一闪回到登陆界面
  3. SAP Spartacus org unit页面的三种focus border及细节讨论
  4. 矩阵分析 第二章 lambda矩阵和Jordan标准型
  5. RabbitMQ添加新用户并支持远程访问
  6. python remove函数_Python列表的remove方法的注意事项
  7. vant:修改van-nav-bar__title颜色——vant中nav-bar组件标题颜色
  8. KnockoutJS 3.X API 第七章 其他技术(3) 延迟更新
  9. nes模拟器java版_JAVA版手机FC/Nes模拟器vN
  10. 计算机专业英语词汇缩写,计算机专业英语词汇中英文对照其他缩写,外语网
  11. android 周月切换日历,vue-week-picker实现支持按周切换的日历
  12. R plot图片背景设置为透明_万能转换:R图和统计表转成发表级的Word、PPT、Excel、HTML、Latex、矢量图等...
  13. 在c语言程序中添加背景音乐,怎么给你的C语言程序添加BGM背景音乐?
  14. 考研复试(控制工程专硕)及大学本科(物联网工程)知识点回顾(三)——模拟电子技术
  15. 3D打印机硬件驱动-马林固件最新版本2.0.X中文注释(1)marlin 2.0.9.2 截至发稿时间2021年12月16日
  16. python输入生日判断星座_用python条件语句判断星座
  17. transform.position 绝对位置与相对位置
  18. 开发证书与发布证书申请和安装步骤
  19. SQL语句去连接两个表,内连接,左连接以及右连接
  20. Ubuntu学习笔记——双系统无法进入Ubuntu以及Ubuntu桌面无法显示

热门文章

  1. python四种可变类型_SICP Python 描述 2.4 可变数据
  2. fifo的rdata_同步FIFO设计
  3. modelsim与modelsim_altera使用的一些区别
  4. UVA11825: Hackers' Crackdown (状压dp)
  5. 驰骋工作流引擎表单设计控件-字段类控件(2)
  6. css细节(实习第1天)
  7. 数据库事务隔离级别(转)
  8. redis hash结构如何设置过期时间
  9. javaweb学习总结(二十八)——JSTL标签库之核心标签
  10. webapi 获取请求参数