内容简介:yue-library yue-library是一个基于SpringBoot封装的基础库 内置丰富的JDK工具 自动装配了一系列的基础Bean与环境配置项 快速构建SpringCloud项目,让微服务变得更简单 收藏一波以表支持吧(≧▽≦)/!经过两个月的...

yue-library
yue-library是一个基于SpringBoot封装的基础库
- 内置丰富的JDK工具
- 自动装配了一系列的基础Bean与环境配置项
- 快速构建SpringCloud项目,让微服务变得更简单
yue-library是一个基于SpringBoot封装的基础库
收藏一波以表支持吧(≧▽≦)/!经过两个月的迭代,此版本主要实现HttpServletRequest输入流可反复读取,重点解决全局异常捕获(包括过滤器中的异常)问题,规范Restful处理让body中的code值与http状态码保持一致。初步实现了 Java 全局网络代理封装,解决无互联网服务器需要通过内网代理服务器访问互联网场景。接下来重心任然会放到多租户、国产化、数据脱敏等特性开发上面。同时官网也将发生一些变化...
2.2.0【2020-10-09】
Maven仓库实际发布版本号
j8.2.2.0、j11.2.2.0
解释:j8对应Java 8,详情查看版本区别说明
新特性
此版本主要实现HttpServletRequest输入流可反复读取,重点解决全局异常捕获(包括过滤器中的异常)问题,规范Restful处理让body中的code值与http状态码保持一致。此版本关键依赖定义如下:
| 依赖 | 版本 |
|---|---|
| spring-boot | 2.2.5.RELEASE |
| spring-cloud | Hoxton.SR3 |
| spring-cloud-alibaba | 2.2.1.RELEASE |
| hutool | 5.3.10 |
| fastjson | 1.2.73 |
- 【base】标准了
Result构建与使用(废弃ResultInfo类,添加R类进行Result构建),错误提示使用:R.errorPrompt("用户名或密码错误")、R.errorPrompt("验证码错误")等 - 【base】Java全局网络代理封装,简化配置与操作(开启全局代理、获取代理配置、临时设置全局代理、取消全局代理等)
- 【web】提供
RepeatedlyReadServletRequestWrapper过滤器,传递输入流可反复读取的HttpServletRequest - 【web】解决全局异常捕获与HTTP状态码同步,并捕获404、405等异常
- 【web】提供Array数据结构参数解析器
ArrayArgumentResolver - 【webflux】解决全局异常捕获与HTTP状态码同步,并捕获404、405等异常
- 【jdbc】提供jdbc逻辑删除数据剔除查询
- 【jdbc】支持JavaBean中存在多个setMethod方法
- 【jdbc】在JavaBean中调用setMethod方法设置JSONObject类型value时进行额外解析处理
- 【jdbc】克隆Db支持
- 【jdbc】JdbcTemplate支持,提供
queryXX单参数类型方法 - 【es】新增es模块,提供es rest便捷配置与es sql配置
Bug修复
- 【redis】hashMap 序列化采用Object
工程结构
. 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。
版本区别说明
| 示例版本 | 区别说明 |
|---|---|
j8.2.x |
基于Java 8的2.x.x版本 |
j11.2.x |
基于Java 11的2.x.x版本 |
Finchley.x、Greenwich.x、2.1.x |
历史版本,具体区分请查看历史版本文档 |
默认版本依赖关系
| yue-library | SpringBoot | SpringCloud | SpringCloudAlibaba |
|---|---|---|---|
| 2.1 | 2.1+ | Greenwich | 2.1+ |
| 2.2 | 2.2+ | Hoxton | 2.2+ |
配置与文档说明
yue-library自动装配了一系列的基础Bean与环境配置项,可在 application.yml 文件中配置关闭,所有配置项皆是以yue.*开头,如:yue.cors.allow=false代表不允许跨域,更多配置项与细节介绍,可查看 官方文档 中各模块的详细说明。
官方文档 提供各模块的详细介绍与使用示例,类与方法说明可参阅 API文档,SpringBoot项目基础模版可使用 yue-library-template-simple,单元测试代码与标准示例可参考:yue-library-test
结语
引用此项目作基础依赖,后续也可很好的对于服务架构进行升级(单体架构、集群架构、微服务、SOA微服务)
新开发项目,建议直接以集群架构形式撸代码,不需要一开始就搭建微服务等,可根据业务需求实际出发。(不限于有SOA共享中心的伙伴)
以上所述就是小编给大家介绍的《SpringBoot 增强库 yue-library 2.2.0 发布,提供 Servlet 输入流反复读取》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- [译] 值得程序员反复品味的编码智慧
- [译] 值得程序员反复品味的编码智慧
- 这份攻略帮你「稳住」反复无常的 GAN
- 挖洞经验 | 看我如何反复获取到HackerOne的漏洞测试邀请
- 反复被DDoS攻击 你一定没花时间看这篇教程
- 中台之上(五):业务架构和中台的难点,都是需要反复锤炼出标准模型
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
How to Solve It
Zbigniew Michalewicz、David B. Fogel / Springer / 2004-03-01 / USD 59.95
This book is the only source that provides comprehensive, current, and detailed information on problem solving using modern heuristics. It covers classic methods of optimization, including dynamic pro......一起来看看 《How to Solve It》 这本书的介绍吧!