SpringBoot 增强库 yue-library 2.3.1 发布,JDBC 全面接入参数类型美化

来源: 投稿
作者: yl-yue
2021-02-18

logo

yue-library简介

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

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

版本更新日志

新特性

  • 【all】规范Redis、异步线程池枚举命名
  • 【jdbc】DAO中新增基于业务键的删、改、查方法,并建议使用:可避免主键ID被遍历风险
  • 【jdbc】优化delete方法为行数确认安全删除机制
  • 【jdbc】对依赖于主键ID作为唯一键进行删、改、查的方法添加有序主键可遍历安全风险提示(可能存在数据越权行为),并推荐使用业务唯一键
  • 【jdbc】默认开启动态数据源的sql打印
  • 【jdbc】全面接入参数类型美化(现已支持:Character、JSONObject、LocalDateTime进行特殊转换处理)
  • 【jdbc】实现布尔类型识别与is命名规约识别
  • 【jdbc】新增支持识别单行数据进行简单数据类型映射(如:String)
  • 【web】新增支持使用FastJson做HTTP消息转换器时按照属性声明顺序进行序列化排序
  • 【web】更改HTTP消息转换器默认配置将 Null Boolean 输出为 false

Bug修复

  • 【web】解决@RequestMapping中指定produces为xml类型时,JavaBean转换会去解析xml内容BUG #I2ALJW
  • 【web】解决获取request、response空指针,改为返回null
  • 【jdbc】优化DbBase与Dialect相互依赖设计,实现Db.clone()深度克隆并解决DbBase与Dialect相互依赖造成的成员变量(JdbcProperties)初始化null异常
  • 【jdbc】解决spring-cloud-stream启动时循环调用DbBase的equals()方法错误
  • 【jdbc】修改jdbcQueryBoolean返回类型错误
  • 【jdbc】修复JdbcProperties默认未注入问题

Maven仓库实际发布版本号

j8.2.3.0j11.2.3.0

关键pom.xml依赖:

依赖 版本
spring-boot 2.3.5.RELEASE
spring-cloud Hoxton.SR9
spring-cloud-alibaba 2.2.3.RELEASE
hutool 5.4.4
fastjson 1.2.74

工程结构

. 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}替换为对应版本号:Maven Central with version prefix filter

<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 等传参方式,默认也对 跨域、时间格式、异常、参数校验 等常见坑点进行了本土化处理与特性增强。

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

展开阅读全文
4 收藏
分享
加载中
更多评论
0 评论
4 收藏
分享
返回顶部
顶部