SpringBoot 增强库 yue-library 2.1.0 发布,提供更多特性支持
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}
替换为对应版本号:
<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 |
配置与文档说明
yue-library
自动装配了一系列的基础Bean与环境配置项,可在 application.yml 文件中配置关闭,所有配置项皆是以yue.*
开头,如:yue.cors.allow=false
代表不允许跨域,更多配置项与细节介绍,可查看 官方文档 中各模块的详细说明。
官方文档 提供各模块的详细介绍与使用示例,类与方法说明可参阅 API文档,SpringBoot项目基础模版可使用 yue-library-template-simple
,单元测试代码与标准示例可参考:yue-library-test
结语
引用此项目作基础依赖,后续也可很好的对于服务架构进行升级(单体架构、集群架构、微服务、SOA微服务)
新开发项目,建议直接以集群架构形式撸代码,不需要一开始就搭建微服务等,可根据业务需求实际出发。(不限于有SOA共享中心的伙伴)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
再谈测试浮躁论——深度好文!
目前来说软件测试人员都有这么些问题吧,这大概已经成为中国目前测试的瓶颈了。人心浮躁大概不是某些职业人特有的,其实是我们这些年轻人的通病了。但身为测试人员,当你在应聘找工作的时候是否发现过自己的不足呢?浮躁的测试人还是占大多数。 一、根基不牢 问题:利用等价类划分的方法,对某问题设计测试用例。 分析:98%以上的应聘者只知道按照有效等价类和无效等价类进行划分,殊不知此种分类方法只是等价类划分的一个典型应用而已,等价类划分远非只能划分为有效和无效两类。根据种种划分依据,还可以进一步划分很多其他类别。 问题:根据事件描述,画出对应的因果图。 分析:标准答案中只画了两条恒等,两条非,一个与,一个或。如此简单的问题,上百名应聘者中竟然无一人答对,痛心啊。黑盒测试方法就那么几种,既然你已知这个名,怎么就不知道多看几眼。 小结: 上面提到的是软件测试的最基本的方法,作为从业测试实际工作已经有1-2年的应聘人员,未能真正领悟,实属不应该,心浮气躁,忽视了你身边最简单,也是最厉害的技能。根基不牢,怎么可能把测试做深。 二、专业不精 问题:音视频文件都有哪些格式,这些格式之间有什么差别? 分析:此问题是...
- 下一篇
Docker 禁止美国“实体清单”主体使用,Docker 开源项目不受影响
Docker 公司最新的服务条款8月13日生效。条款引起关注的地方简单来说就是,Docker 公司提供的服务,禁止美国“实体清单”上的实体使用。 Docker 公司相关条款写道: 1.2服务的所有使用均须接受这些条款。通过访问或使用服务或服务上提供的任何内容或服务,即表示您同意这些条款。如果您是代表某个实体(例如您的雇主或工作的公司)签订这些条款,则表示您具有约束该实体并依此约束这些条款的合法权限。如果您是根据美国或其他国家(包括您居住的国家或使用服务的国家)的法律或国际法律或条约禁止使用服务的人,则不得使用服务。如果您是或代表任何美国政府拒绝方/人员列表中列出的实体,则不得使用该服务…… 20.8 该服务受美国商务部和美国财政部外国资产控制办公室管理的美国出口管制条例的约束。您承认并同意,该服务以及您访问的任何用户内容或第三方内容不得被使用、转移或者以其他方式出口或再出口到美国实施禁运的国家(统称为“被禁运国家”),或者美国财政部的特别指定国民名单或美国商务部的实体名单、被拒绝人士名单或未经验证的最终用户名单或美国财政部的不扩散制裁名单上的公民或居民,或者任何人或实体(统称为“指定公...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)