您现在的位置是:首页 > 文章详情

SpringBoot 增强库 yue-library 2.1.0 发布,提供更多特性支持

日期:2020-08-16点击:651

logo

yue-library

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

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

收藏一波以表支持吧(≧▽≦)/!本次发布是一次历时9个月的大版本发布,虽然yue-library一直在不断的更新,但这次大版本的发布意味着yue-library看到了更远也能走得更远,为后续多租户、国产化、数据脱敏等趋势需求打下了坚定基础。本次更新分离了响应式编程与阻塞式编程,对Auth认证模块也做了相应的拆分与优化,同时从此版本开始对开发文档进行了进一步支持,区分各大本版文档说明,增加历史文档专区。

点击查看完整的版本更新日志

2.1.0【2020-08-16】

新特性

基于全新的spring-cloud-alibaba体系封装改造,拆分独立的OAuth认证体系,对webmvc、webflux分开支持。依赖定义如下:

依赖 版本
spring-boot 2.1.10.RELEASE
spring-cloud-alibaba 2.1.2.RELEASE
spring-cloud Greenwich.SR5

点击查看更多依赖版本定义

  • 【base】提供yml默认配置支持,一键解决常规坑点困扰(如:时间格式化、可执行SQL打印、接口定义打印等),更适合国内标准
  • 【base】@ApiVersion 注解可优雅的实现接口版本控制,只为更好的Restful
  • 【web】实用的参数解析器(解决参数获取困扰,不再区分Query传参与Body传参,Request请求参数智能解析),并提供RequestParamUtils工具类适用于各种环境下获取请求参数
  • 【web】HTTP消息转换器增强,fastjson与jackson一键切换
  • 【redis】规范redis包名标准,分离OAuth认证体系
  • 【redis】提供可配置的Redis存储对象序列/反序列化器
  • 【jdbc】遵守Java开发手册命名规约,Service/DAO 层方法命名规约,优化如获取单个对象采用 get 做前缀
  • 【jdbc】提供友好的方言支持,为适配国产化数据库打下基础
  • 【jdbc】提供业务主键支持
  • 【jdbc】提供字段命名策略支持
  • 【jdbc】提供逻辑删除支持
  • 【jdbc】提供获得表元数据支持

Bug修复

  • 【jdbc】批量插入容易报错问题

工程结构

 . 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

 <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.1.0开始采用与SpringBoot和SpringCloudAlibaba相同的命名方式。

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

推荐版本依赖关系

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

依赖关系介绍

依赖组件名 依赖组件说明 yue-library支持版本
Java 11 LTS(Oracle长期支持版本) Greenwich、2.1、2.2
SpringBoot 2.1 兼容Java 8、Java 11 Greenwich、2.1
SpringBoot 2.2 兼容Java 8、Java 11、Java 13 2.2
SpringCloud Greenwich 默认依赖SpringBoot 2.1 Greenwich、2.1
SpringCloud Hoxton 默认依赖SpringBoot 2.2 2.2
SpringCloudAlibaba 2.1 默认依赖SpringBoot 2.1、SpringCloud Greenwich 2.1
SpringCloudAlibaba 2.2 默认依赖SpringBoot 2.2、SpringCloud Hoxton 2.2

SpringBoot版本发行说明

SpringCloudAlibaba版本发行说明

配置与文档说明

yue-library自动装配了一系列的基础Bean与环境配置项,可在 application.yml 文件中配置关闭,所有配置项皆是以yue.*开头,如:yue.cors.allow=false代表不允许跨域,更多配置项与细节介绍,可查看 官方文档 中各模块的详细说明。

官方文档 提供各模块的详细介绍与使用示例,类与方法说明可参阅 API文档,SpringBoot项目基础模版可使用 yue-library-template-simple,单元测试代码与标准示例可参考:yue-library-test

结语

引用此项目作基础依赖,后续也可很好的对于服务架构进行升级(单体架构、集群架构、微服务、SOA微服务)

新开发项目,建议直接以集群架构形式撸代码,不需要一开始就搭建微服务等,可根据业务需求实际出发。(不限于有SOA共享中心的伙伴)

原文链接:https://www.oschina.net/news/117953/yue-library-2-1-0-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章