当前位置: 首页 > 软件库 > 程序开发 > 常用工具包 >

yue-library

基于 SpringBoot 封装的基础库
授权协议 Apache-2.0
开发语言 Java
所属分类 程序开发、 常用工具包
软件类型 开源软件
地区 国产
投 递 者 熊俊人
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

logo

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

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

介绍

yue-library 是一个基于 SpringBoot 封装的增强库,内置丰富的 JDK 工具,并且自动装配了一系列的基础 Bean,不仅如此,还可以用于快速构建 SpringCloud 项目,让微服务变得更简单。

工程结构

. 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>

版本说明

yue-library的版本命名方式,继2.1.0开始采用与SpringBoot和SpringCloudAlibaba相同的命名方式。

yue-library-base为其他模块的基础依赖(简称基础库),所以若需要引入除基础库之外的模块(如:web、data-jdbc、data-redis),可以不引入yue-library-base

版本区别说明

示例版本 区别说明
j8.2.x 基于Java 8的2.x.x版本
j11.2.x 基于Java 11的2.x.x版本
Finchley.xGreenwich.x2.1.x 历史版本,具体区分请查看历史版本文档

默认版本依赖关系

yue-library SpringBoot SpringCloud SpringCloudAlibaba
2.1 2.1+ Greenwich 2.1+
2.2 2.2+ Hoxton 2.2+

SpringBoot版本发行说明

SpringCloudAlibaba版本发行说明

更多细节,请查看中文文档

模块说明

yue-library-base(必备)

yue-library-base提供了丰富的Java工具包,它能够帮助我们简化每一行代码(集成Hutool工具包)。

同时也自动装配了一系列基础Bean,可在 application.yml 文件中配置关闭,所有配置项皆是以yue.*开头,如:yue.cors.allow=false代表不允许跨域。

  • 丰富的Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装
  • 默认开启热加载、热部署、支持跨域,一键解决联调问题
  • 全局统一异常处理基类,结合Result对象,定位异常更轻松,前端显示更贴切
  • 异步线程池:共用父线程上下文环境,异步执行任务时不丢失token
  • ResultHttp最外层响应对象,更适应Restful风格API
  • validator参数校验器,支持单参数连写与POJO对象(注解)校验等,更多的校验规则,更贴切的国内校验场景。(如:手机号、身份证号码)
  • Convert类型转换器,内置hutool、fastjson、yue三种类型转换规则,判断精确性能强大,未知类型兼容性更强

更多详细介绍,请查看中文文档

yue-library-data-jdbc(强烈推荐)

data-jdbc库基于SpringJDBC进行二次封装,拥有着强大性能的同时又不失简单、灵活。特性如下:

  • 比SpringJDBC更方便好用、比SpringJPA更简单灵活
  • 无侵入:data-jdbc 在 SpringJDBC 的基础上进行扩展,只做增强不做改变,简化CRUD操作
  • 依赖管理:引入即可启动项目,关联druid实现SQL全监控
  • 预防Sql注入:内置Sql注入剥离器,有效预防Sql注入攻击
  • 损耗小:封装大量经过SQL优化处理的CRUD方法,直接面向对象操作,对比原生级CRUD处理,性能基本无损耗甚至更优
  • 通用CRUD操作:内置通用 DAO,通过继承方式即可实现单表大部分 CRUD 操作
  • 更科学的分页:分页参数自动解析,写分页等同于写基本List查询。更有优化型分页SQL检查
  • 内置性能分析插件:可输出Sql语句以及其执行时间,建议开发测试时启用该功能,能有效解决慢查询
  • 类型强化:支持原生级SQL查询,并强化原生查询结果,简单便捷 + 可维护组合(支持全JSON或全DO)
  • CRUD校验:CRUD操作是否符合预期,更好的避免脏数据的产生与违规操作
  • 全局异常处理:CRUD操作相关异常统一处理,定位更精准,提示更友好,实现全局Restful风格

更多详细介绍,请查看中文文档

yue-library-data-redis(推荐)

data-redis库基于SpringRedis进行二次封装,更简单灵活,提供全局token与登录等特性:

  • 简化使用并拥有Redis原生常用命令所对应的方法
  • 保留SpringRedis所有常用特性:分布式缓存
  • 提供分布式token、分布式锁
  • 封装大量第三方登录特性,使登录更简单易于维护
  • 封装常用的登录判断操作与redis-token解析

更多详细介绍,请查看中文文档

社区

Gitter的社区里可以找到yue-library的用户和开发者团队。

参与贡献

欢迎各路好汉一起来参与完善 yue-library,我们期待你的 PR!

  • 贡献代码:代码地址 yue-library ,欢迎提交 Issue 或者 Pull Requests
  1. Fork 本仓库并从 JDK对应的分支或对应的某个版本 创建你的分支
  2. 如果你添加的代码需要测试,请添加测试,确保单元测试通过(测试代码请放在:yue-library-test中)
  3. 如果你修改了 API,请更新文档
  4. 确保代码风格一致
  5. 提交代码
  6. 新建 Pull Request
  • 维护文档:文档地址 yue-library-doc ,欢迎参与翻译和修订
  • validator 出色的服务端校验框架validator,功能齐全、简单易用 完善的校验方式,支持单参数连写校验、POJO对象校验、分组校验 丰富的校验注解,更贴切国内校验场景 友好的异常提示,错误迅速定位,开发简单易懂 一、功能简介 主要提供便捷的后台数据校验功能,支持单个字段或参数校验,也支持通过注解校验对象,用法简单。 提供基本的非空、长度、大小等校验方法,也提供一些特殊的正则校验、身份证

  • A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit number a

  • A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit number a

  • 1022. Digital Library (30) CHEN, Yue A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book i

  • A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit number a

  • ✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343 专栏地址:PAT题解集合 原题地址:题目详情 - 1022 Digital Library (pintia.cn) 中文翻译:数字图书馆 专栏定位:为想考甲级PAT的小伙伴整理常考算法题解,祝大家都能取得满分! ❤️如果有收获的话,欢迎点赞收藏,您的支持就是我创作

  • A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit number a

  • 题目 A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit numbe

  • A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an unique 7-digit number a

 相关资料
  • 封装被定为义为“把一个或多个项目封闭在一个物理的或者逻辑的包中”。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。 抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装使程序员实现所需级别的抽象。 封装使用访问修饰符来实现。一个访问修饰符定义了一个类成员的范围和可见性。C# 支持的访问修饰符如下所示: Public Private Protected Internal

  • Base Library是分区数据集(PDS),它保存要在JCL中执行的程序的加载模块或在程序中调用的编目过程。 可以在JOBLIB库中为整个JCL指定基本库,也可以在STEPLIB语句中为特定作业步骤指定基本库。 JOBLIB Statement JOBLIB语句用于标识要在JCL中执行的程序的位置。 JOBL语句在JOB语句之后和EXEC语句之前指定。 这只能用于流程序和程序。 语法 (Syn

  • 总结之前的内容,对象(object)指代某一事物,类(class)指代象的类型。对象可以有状态和动作,即数据成员和方法。 到现在为止,数据成员和方法都是同时开放给内部和外部的。在对象内部,我们利用this来调用对象的数据成员和方法。在对象外部,比如当我们在另一个类中调用对象的时,可以使用 对象.数据成员 和 对象.方法() 来调用对象的数据成员和方法。 我们将要封装(encapsulation)对

  • 本文向大家介绍基于jQuery的ajax方法封装,包括了基于jQuery的ajax方法封装的使用技巧和注意事项,需要的朋友参考一下 ajax (ajax开发)简介 AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。 AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。

  • 本文向大家介绍基于jQuery拖拽事件的封装,包括了基于jQuery拖拽事件的封装的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了基于jQuery封装的拖拽事件,供大家参考,具体内容如下 HTML代码: 封装的jQuery拖拽事件: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍Java基础之类型封装器示例,包括了Java基础之类型封装器示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java基础之类型封装器。分享给大家供大家参考,具体如下: Java类型封装器:封装或者包装了基本类型的类。因为基本类型不是对象,所以需要类型封装器。 Double :parseDouble(), Float:parseFloat(), Long:parseLong