SpringBoot 增强库 yue-library 2.2.0 发布,提供 Servlet 输入流反复读取

栏目: 软件资讯 · 发布时间: 4年前

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

SpringBoot 增强库 yue-library 2.2.0 发布,提供 Servlet 输入流反复读取

yue-library

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

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

收藏一波以表支持吧(≧▽≦)/!经过两个月的迭代,此版本主要实现HttpServletRequest输入流可反复读取,重点解决全局异常捕获(包括过滤器中的异常)问题,规范Restful处理让body中的code值与http状态码保持一致。初步实现了 Java 全局网络代理封装,解决无互联网服务器需要通过内网代理服务器访问互联网场景。接下来重心任然会放到多租户、国产化、数据脱敏等特性开发上面。同时官网也将发生一些变化...

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

2.2.0【2020-10-09】

Maven仓库实际发布版本号

j8.2.2.0j11.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}替换为对应版本号:SpringBoot 增强库 yue-library 2.2.0 发布,提供 Servlet 输入流反复读取

<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.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自动装配了一系列的基础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 输入流反复读取》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

跨越鸿沟

跨越鸿沟

[美] 杰弗里·摩尔(Geoffrey A. Moore) / 赵娅 / 机械工业出版社 / 2009-1 / 36.00元

在真正涉足高科技领域之前,你有必要读一读这本书——在这个节奏飞快、竞争激烈的技术竞技场上,这本书绝对能够帮助你更容易地获得成功。 ——威廉姆·劳森 罗盛软件公司董事会主席兼CEO 最近40年来,本书对高科技营销各个方面所做出的贡献远远超过了其他任何相关书籍。如今已经有无数企业和大学分别在自己的运营和教学过程中引入了鸿沟思想,如果你还不是这些企业或大学中的一员,你可能就要担心自己的未来了......一起来看看 《跨越鸿沟》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具