精华内容
下载资源
问答
  • 一个基于SpringBoot封装的增强库 ... -QQ群: 介绍 yue-library是一个基于SpringBoot封装的增强库,内置丰富的JDK工具,...│ ├── yue-library-base 基础库提供了丰富的Java工具包,同时也自动装配了一系列基础Bean等
  • yue-library简介 yue-library是一个基于SpringBoot封装的增强库 内置丰富的JDK工具 自动装配了一系列的基础Bean与环境配置项 快速构建SpringCloud项目,让微服务变得更简单 版本更新日志 此版本重点实现:密钥...

    logo

    yue-library简介

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

    • 丰富的Java工具类库
    • 优越的ORM框架
    • 优雅的业务封装
    • 优化的Spring环境配置
    • 完善的规约限制
    • 配套的代码生成平台
    • 安稳贴切的开源架构方案

    版本更新日志

    此版本重点实现:密钥交换加解密增强Bean转换能力JDBC新增Elasticsearch-SQL、达梦、PostgreSQL方言

    新特性

    • 【base】ParamUtils提示优化,添加错误原因
    • 【base】添加JSONListConverter类型转换器从而支持List<JSONObject>类型处理(JDBC实体数据库查询映射时JSONArray格式文本数据不支持映射成List<JSONObject>
    • 【base】优化fastjson bean转换的jsonstr识别方式
    • 【base】增强DateUtils与规范UUID工具类为IdUtils并优化IdUtils实现
    • 【base】增强fastjson JavaBean转换能力,支持Character类型
    • 【base】MapUtils增强值提取,支持list根据key提取map提取值支持map、fastjson pulls !17
    • 【crypto】新增重磅特性-密钥交换加密:支持@RequestDecrypt注解实现请求自动解密
    • 【crypto】新增重磅特性-密钥交换加密:支持@ResponseEncrypt注解实现响应内容加密
    • 【crypto】密钥交换加密:默认提供本地Map与Redis两种交换密钥存储方案
    • 【crypto】密钥交换加密:@RequestDecrypt@ResponseEncrypt注解支持使用交换密钥加密或自定义密钥等特性
    • 【web】修复ApiVersion注解minimumVersion值等于的情况下410
    • 【web】优化响应结果处理器在标准HTTP状态码时的空值处理
    • 【web】新增ServletUtils.getAuthToken()方法,获取请求中的OAuth2 Token
    • 【webflux】修复ApiVersion注解minimumVersion值等于的情况下410
    • 【jdbc】对jdbc方言实现进行完善与优化,新增Elasticsearch-SQL、达梦、PostgreSQL方言
    • 【jdbc】db.queryForObject 自动识别Bean类型与简单类型
    • 【jdbc】参数美化增强支持JSONArray数据类型与List<JSONObject>数据类型
    • 【jdbc】优化多行查询结果转换为单行查询结果实现
    • 【jdbc】所有mappedClass查询方法自动识别所需RowMapper类型,实现JavaBean、map、基本类型结果自动匹配
    • 【jdbc】规范内部部分常量命名与移除分页中不优雅的泛型实例PageTVO
    • 【jdbc】增强自动方言识别,根据驱动类自动识别所需方言类型
    • 【jdbc】默认Db Bean实现根据不同驱动类型,使用对应方言配置
    • 【jdbc】优化DAO实现,抽象基础DAO
    • 【jdbc】优化所有jdbc方法注释,描述更简洁,表达更清晰,注释更规范
    • 【jdbc】删除早期存在的部分过时方法
    • 【es】支持配置ConnectTimeout与SocketTimeout,并调大各自默认值为25与15秒

    Bug修复

    • 【base】修复fastjson JavaBean转换BUG #3688
    • 【jdbc】修复isDataSize()方法可能因为数据库存在多行数据,而返回false的隐患
    • 【jdbc】修复因错误测试而删除的参数类型美化(现已支持:Character、JSONObject、LocalDateTime进行特殊转换处理与布尔值映射识别)

    工程结构

    . 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}替换为对应版本号:

    <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": {}
    }
    

    密钥交换

    密钥交换加密可以实现如下几个特性:

    • 每次会话的密钥时随机的,客户端与服务端事先无需约定
    • 密钥未直接存储在客户端与服务端中,避免了泄露风险
    • 密钥交换过程中,密钥的传输是加密的

    密钥交换流程

    密钥交换流程

    密钥交换步骤一:客户端请求传输加密公钥

    1. 客户端使用密钥存储key,请求获得服务端公钥(用于步骤二请求加密)
    • 密钥存储key:作为会话唯一键,在步骤一、步骤二、步骤三中属于必填参数
    • 密钥存储key:在用户未登录时一般会随机生成一个UUID,用户登陆后再用token作为别名
    • 密钥存储key:用户已登录情况,一般会以用户本次会话token作为存储key
    1. 服务端收到请求后,生成用于后续传输加解密的公私钥并绑定存储key
    2. 服务端将生成的公钥返回给客户端

    密钥交换步骤二:客户端请求最终交换密钥

    1. 客户端获得服务端的公钥后,创建客户端自身的公私钥
    2. 客户端使用服务端的公钥加密自身生成的公钥,向服务端请求最终的交换密钥
    3. 服务端使用私钥解密获得客户端公钥
    4. 服务端生成最终交换密钥,并使用客户端公钥进行响应加密
    5. 客户端获得加密的交换密钥后使用客户端私钥解密,获得交换密钥

    密钥交换步骤三(可选):客户端为服务端密钥的存储key添加别名

    • 适用场景:
    • 步骤一时用户未登录,使用临时的UUID作为服务端密钥存储key,用户登录后想使用token作为密钥存储key,方便后续传输

    使用交换密钥加解密

    1. 客户端获得交换密钥后,请求需要参数加密的接口时,以约定的方式带上密钥存储key,并加密请求参数
    • 约定方式:默认为OAuth2 Token认证,故:若步骤一使用UUID作为存储key,需将token添加为存储别名
    • 约定方式:除默认方式外支持:Header传参约定、URL Param传参约定(具体传参key为服务端定义,默认key值:Yue-ExchangeKey-StorageKey
    1. 服务端解密参数处理业务逻辑后,使用@ResponseEncrypt注解自动加密响应的data参数
    2. 客户端解密响应结果

    接口说明

    默认算法名称

    • RSA_AES:
    	/** RSA算法,此算法用了默认补位方式为RSA/ECB/PKCS1Padding */
    	RSA_ECB_PKCS1("RSA/ECB/PKCS1Padding"), 
    
    	/** 默认的AES加密方式:AES/ECB/PKCS5Padding */
    	AES("AES"), 
    
    • SM2_SM4
    	/**
    	 * 算法EC
    	 */
    	private static final String ALGORITHM_SM2 = "SM2";
    	
    	public static final String ALGORITHM_NAME = "SM4";
    

    密钥交换-第一步:获得加密公钥

    接口地址:POST /open/v2.3/keyExchange/{storageKey}

    参数说明参数示例
    storageKeyRESTful路径参数,密钥存储key23ef1f9418e84cc884187e1720ac1529
    exchangeKeyType交换密钥类型,枚举值:RSA_AES、SM2_SM4RSA_AES

    密钥交换-第二步:获得交换密钥

    接口地址:POST /open/v2.3/keyExchange/{storageKey}

    参数说明参数示例
    storageKeyRESTful路径参数,密钥存储key23ef1f9418e84cc884187e1720ac1529
    exchangeKeyType交换密钥类型,枚举值:RSA_AES、SM2_SM4RSA_AES
    encryptedClientPublicKey使用服务端公钥加密的客户端公钥(encryptBase64)SsowXMaZfQiec39 ..略n.. uv/DbVr6gslrjY3Q==

    密钥交换-第三步:添加存储key别名

    接口地址:POST /open/v2.3/keyExchange/{storageKey}/addAlias

    参数说明参数示例
    storageKeyRESTful路径参数,密钥存储key23ef1f9418e84cc884187e1720ac1529
    storageKeyAlias存储别名cbf55767c47e4d4e9feb90cfa2bdf5aa

    配置

    yue: 
      crypto:
        key-exchange:
          enabled: true # 默认false,启用密钥交换
          key-exchange-storage-type: redis # 使用redis作为密钥交换存储类型
    

    注解使用说明

    @RequestDecrypt请求解密注解:

    • 必须与@RequestBody注解一同使用
    • @RequestBody注解只支持使用Body传参,并映射为实体参数。
    • Content-Type=application/json;charset=UTF-8
        @RequestDecrypt
        @PostMapping("/decrypt")
        public Result<?> decrypt(@RequestBody UserIPO userIPO) {
            return R.success(userIPO);
        }
    

    @ResponseEncrypt响应加密注解:

    • 必须与@ResponseBody注解一同使用,@RestController注解默认已集成@ResponseBody
    • 必须使用Result作为返回类型,并且加密的是data参数
        @ResponseEncrypt
        @GetMapping("/{encrypt}")
        public Result<?> encrypt(@PathVariable String encrypt) {
            return R.success(encrypt);
        }
    

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

    展开全文
  • 一个基于SpringBoot封装的基础库 ...yue-library是一个基于SpringBoot封装的基础库,内置丰富的JDK工具,并且自动装配了一系列的基...

    一个基于SpringBoot封装的增强库

    yue-library官网 yue-library JavaDoc Maven Central with version prefix filter GitHub Spring%20Boot Version Spring%20Cloud Version gitee star GitHub Repo stars GitHub issues

    -- 主页:https://ylyue.cn/ --

    -- QQ群:883630899 --


    介绍

    yue-library是一个基于SpringBoot封装的增强库,提供丰富的Java工具类库、优越的ORM框架、优雅的业务封装、优化的Spring环境配置、完善的规约限制、配套的代码生成平台、安稳贴切的开源架构方案等,只为打造更好的JavaWeb开发环境,提升大家的开发质量与效率,降低企业研发成本。

    适用于企业快速构建属于自己的切合架构,不为技术负累,不盲目跟风,不原地踏步,从单体与集群分布式与微服务,企业结合自身业务所处阶段,灵活选择逐步跟进升级。

    工程结构

    . 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}替换为对应版本号:

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

    随后引入所需要的模块,如基础库:yue-library-base

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

    版本说明

    yue-library的版本命名方式,继2.1.0开始采用与 SpringBoot版本发行 对应的命名方式。
    yue-library-base为其他模块的基础依赖(简称基础库),所以若需要引入除基础库之外的模块(如:web、webflux、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历史版本,具体区分请查看历史版本文档

    👉点击查看pom.xml依赖

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

    核心模块说明

    yue-library-base(必备)

    base模块提供了丰富的Java工具类库,它能够帮助我们简化每一行代码(增强Hutool工具包)。

      同时提供优越的Spring本土化环境配置,可在 application.yml 文件中配置关闭,所有配置项皆是以yue.*开头,如:yue.cors.allow=false代表不允许跨域。

    • 丰富的Java基础工具类,对文件、流、加密解密、转码、正则、线程、XML等JDK方法进行封装
    • 完善的RESTful支持,使用HTTP响应包装对象Result,友好返回接口响应内容
    • 完善的异常处理机制,RESTful状态码与HTTP状态码自动同步,异常提示简单易懂
    • 出色的服务端校验框架validator,支持多种校验方式,简单易用,校验规则丰富,更贴切国内校验场景
    • 强大的类型转换器Convert,优越的性能,超强的容错能力,妈妈再也不用担心我找不到好用的“BeanUtils”了
    • 安全的异步线程池,完美解决子线程上下文环境问题,就算是高并发下,异步执行任务时再也不丢失token等参数了
    • 优雅的密钥交换加密,安全高效的解决HTTP通信传输安全
    • 简洁完善的Java全局网络代理,轻松解决内网部署时的网络代理需求

    yue-library-web/webflux(必备)

    web/webflux模块提供友好的JavaWeb开发环境,免去本土化烦恼,提供友好的默认配置,解决开发中常遇的槽点,提升大家的开发质量与效率,降低企业研发成本。

    • 美妙愉悦的开发体验,让跨域、热加载、时间格式、参数获取等,低级而又普遍存在的问题都见鬼去吧
    • 强大的HTTP请求参数解析器,解决参数获取困扰,Request请求参数智能解析,让前后端联调和平相处
    • 强大的HTTP响应消息转换器,优雅实现固定类型参数格式化、NULL值处理等,轻松收到来至前端同事的致谢
    • 强大的HTTP请求包装器,解决Servlet输入流被前置的某个拦截器读取一空,导致请求参数获取不到
    • 强大的ServletUtils,让我们在任何时候任何地方,对接口的请求参数与响应内容都能为所欲为
    • 优雅的接口版本控制@ApiVersion,再也不用担心团队成员对接口规范视若无睹为所欲为了

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

    data-jdbc模块基于SpringJdbc封装的ORM框架,拥有着强大性能的同时又不失简单灵活,特性如下:

    • 强大易用:比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操作是否符合预期,更好的避免脏数据的产生与违规操作
    • JDBC审计:敏感操作全覆盖,简单实现对数据变动的审计需求
    • 数据脱敏:只需简单的配置即可实现对数据脱敏存储需求,操作时自动加解密
    • 全局异常处理:CRUD操作相关异常统一处理,定位更精准,提示更友好,实现全局RESTful风格

    更多模块

    关于data-redisdata-esauth-serviceauth-client等模块的特性介绍与更详细的使用说明,请查看中文文档

    社区

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

    参与贡献

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

    • 贡献代码:代码地址 yue-library ,欢迎提交 Issue 或者 Pull Requests
    1. Fork本仓库并从master分支创建你的分支
    2. 如果你添加的代码需要测试,请添加测试,确保单元测试通过(测试代码请放在:yue-library-test中)
    3. 如果你修改了API,请更新文档
    4. 确保代码风格一致
    5. 提交代码
    6. 新建Pull Request
    7. 等待维护者合并

    PR遵照原则

    yue-library欢迎你的加入,进行开源共建,提交的pr(pull request)需符合如下规范:

    • 关于注释:提供完备的注释,尤其对每个新增的方法应按照Java文档规范标明方法说明、参数说明、返回值说明等信息,亦可加上署名,必要时请添加单元测试
    • 关于缩进:采用IDEA中默认的空格作为标准,可设置一个tab四个空格
    • 关于三方库:新加的方法不要使用第三方库的方法,yue-library遵循无依赖原则

    特别鸣谢

    logo-jetbrains       logo-spring-tools-4
    展开全文
  • yue-library是一个基于SpringBoot封装的基础库

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

    展开全文
  • yue-library简介 yue-library是一个基于SpringBoot封装的增强库 内置丰富的JDK工具 自动装配了一系列的基础Bean与环境配置项 快速构建SpringCloud项目,让微服务变得更简单 版本更新日志 新特性 data-jdbc进行了...

    logo

    yue-library简介

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

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

    版本更新日志

    新特性

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

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

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

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

    新增如下RowMapper:

    1. BeanPropertyRowMapper,JavaBean映射两倍有余Spring原生的性能,支持更多类型映射,支持 JSONField 注解
    2. 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依赖:

    依赖版本
    spring-boot2.3.5.RELEASE
    spring-cloudHoxton.SR9
    spring-cloud-alibaba2.2.3.RELEASE
    hutool5.4.4
    fastjson1.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}替换为对应版本号:

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

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

    展开全文
  • SpringBoot校验框架:yue-library

    千次阅读 2021-04-19 09:41:22
    validator 轻量级服务端校验框架 支持注解、功能齐全、使用简便 一、功能简介 主要提供便捷的后台数据校验功能,支持单个字段或参数校验,也支持通过注解校验对象,用法简单。 提供基本的非空、长度、大小等校验方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,153
精华内容 461
关键字:

yue-library