Java SpringBoot yue-library 2.3.3 增强库发布

科技资讯 投稿 127700 0 评论

版本更新日志

2.3.3主要为bug修复与安全加固版本,并优化了大量文档细节,重大新特性将在2.4.x中发布,如:数据脱敏

新特性

  • 【base】校验框架提供静态方法Validator.getValidatorAndSetParam(Object param获取参数校验器,无需bean注入

  • 【base】校验框架实现分组校验与提供默认分组ValidationGroups

  • 【base】新增@CarDrivingLicence、@CarVin、@CreditCode、@ZipCode四个校验注解

  • 【web】迁移RequestParamUtils实现至ServletUtils,并优化参数获取方式

  • 【web】优化ServletUtils内部实现,移除multipart相关类改用hutool提供

  • 【jdbc】从2.3.3开始使用(强依赖)druid进行连接池管理与SQL解析

Bug修复

  • 【base】移除actuator配置

  • 【web】修复异步线程装饰器在开启ServletAsyncContext时,接口响应被无故追加404异常

yue-library简介

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

  • 丰富的Java工具类库

  • 优越的ORM框架

  • 优雅的业务封装

  • 优化的Spring环境配置

  • 完善的规约限制

  • 配套的代码生成平台

  • 安稳贴切的开源架构方案

Maven仓库实际发布版本号

j8.2.3.3、j11.2.3.3

关键pom.xml依赖:

依赖版本
spring-boot2.3.10.RELEASE
spring-cloudHoxton.SR11
spring-cloud-alibaba2.2.5.RELEASE
hutool5.6.3
fastjson1.2.76

工程结构

. yue-library
├── yue-library  父pom
│   ├── yue-library-dependencies  dependencies版本控制
│   ├── 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-samples  基础库示例
│   ├── yue-library-test                yue-library-web代码测试项目:单元测试、接口测试、代码示例
│   ├── 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}替换为对应版本号:Java SpringBoot yue-library 2.3.3 增强库发布

<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方法启动类:

@SpringBootApplicationpublic 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正在计划提供属于自身的脚手架项目,但相比于单纯的脚手架项目,他更具有以下几点优势:

  1. 简单易学:优雅的实现各个功能特性,并配备了完善的说明文档

  2. 轻松引用:不同于脚手架,对于现有的SpringBoot项目也可以引入yue-library

  3. 更易升级:以spring-boot-starter的方式提供支持,可随时跟进最新稳定版本

  4. 无需维护:开发者只需专注自身业务逻辑实现,并熟练运用你所使用的特性

  5. 灵活选取:你可以随时弃用yue-library保留SpringBoot原生使用

编程笔记 » Java SpringBoot yue-library 2.3.3 增强库发布

赞同 (87) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽