一个基于SpringBoot封装的增强库
-- 主页:https://ylyue.cn/ --
-- QQ群:883630899 --
yue-library是一个基于SpringBoot封装的增强库,提供丰富的Java工具类库、优越的ORM框架、优雅的业务封装、优化的Spring环境配置、完善的规约限制、配套的代码生成平台、安稳贴切的开源架构方案等,只为打造更好的JavaWeb开发环境,提升大家的开发质量与效率,降低企业研发成本。
适用于企业快速构建属于自己的切合架构,不为技术负累,不盲目跟风,不原地踏步,从单体与集群到分布式与微服务,企业结合自身业务所处阶段,灵活选择逐步跟进升级。
yue-library工程区分顶级module与子级module:
. yue-library
├── yue-library yue-library顶级模块
│ ├── yue-library-base 基础核心模块,提供丰富的Java工具类库、接口参数校验、类型转换器等
│ ├── yue-library-web WebMvc模块,servlet编程,提供请求与响应参数的包装与解析等
│ └── yue-library-data-jdbc ORM框架,基于SpringJdbc,拥有着强大性能的同时又不失简单灵活等
├── yue-library-extra yue-library子级模块
│ ├── yue-library-base-crypto 加解密模块,提供对称、非对称和摘要算法、密钥交换加解密等
│ ├── yue-library-webflux WebFlux模块,响应式编程(如:SpringCloudGateway)
│ ├── yue-library-web-grpc gRPC模块,RPC编程,Protobuf协议定义接口与序列化数据
│ ├── yue-library-data-redis Redis客户端,基于SpringRedis,更简单灵活,提供分布式锁等
│ ├── yue-library-data-es Elasticsearch Rest与SQL客户端(兼容OpenSearch),提供安全认证等属性配置
│ ├── yue-library-auth-service OAuth2认证模块,基于SpringSecurity,更简单灵活,提供全局token与登录等
│ ├── yue-library-auth-client OAuth2客户端模块,提供获取当前登录用户状态信息等
│ └── yue-library-pay 支付模块,基于pay-java-parent,让你真正做到一行代码实现支付聚合
└── yue-library-samples yue-library示例项目
├── yue-library-test web测试项目,提供详细的特性使用示例、接口单元测试
├── yue-library-test-webflux webflux测试项目,提供详细的特性使用示例、接口单元测试
├── yue-library-test-grpc grpc测试项目,提供详细的特性使用示例、接口单元测试
├── yue-library-template-boot SpringBoot项目模版,提供快速开发示例
└── yue-library-template-cloud SpringCloud项目模版,SOA共享架构(阿里巴巴中台)
maven项目,在pom.xml文件中添加如下一段代码,并将${version}
替换为对应版本号:
<parent>
<groupId>ai.ylyue</groupId>
<artifactId>yue-library</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 R.success(paramJson);
}
}
访问接口测试,如:http://localhost:8080/quickstart/get
{
"code": 200,
"msg": "成功",
"flag": true,
"count": null,
"data": {}
}
上述代码完全保持了SpringBoot的风格,但又使用到了yue-library的增强特性,如:
当然除了这些已使用到的特性之外,你还可以尝试如:响应时间类型时自动格式化、请求参数校验、API接口版本控制、反复读取Servlet输入流等。
并且在yue-library-samples
目录下,存放着不同架构类型的示例模板,你可以根据自身需求选择,从而快速上手。
base模块提供了丰富的Java工具类库,它能够帮助我们简化每一行代码(增强Hutool工具包)。
同时提供优越的Spring本土化环境配置,可在 application.yml 文件中配置关闭,所有配置项皆是以yue.*
开头,如:yue.cors.allow=false
代表不允许跨域。
Result
,友好返回接口响应内容validator
,支持多种校验方式,简单易用,校验规则丰富,更贴切国内校验场景Convert
,优越的性能,超强的容错能力,妈妈再也不用担心我找不到好用的“BeanUtils”了web/webflux模块提供友好的JavaWeb开发环境,免去本土化烦恼,提供友好的默认配置,解决开发中常遇的槽点,提升大家的开发质量与效率,降低企业研发成本。
ServletUtils
,让我们在任何时候任何地方,对接口的请求参数与响应内容都能为所欲为@ApiVersion
,再也不用担心团队成员对接口规范视若无睹为所欲为了data-jdbc模块基于SpringJdbc封装的ORM框架,拥有着强大性能的同时又不失简单灵活,特性如下:
CRUD
等操作 关于data-redis
、data-es
、auth-service
、auth-client
等模块的特性介绍与更详细的使用说明,请查看中文文档
在Gitter的社区里可以找到yue-library的用户和开发者团队。
欢迎各路好汉一起来参与完善 yue-library,我们期待你的 PR!
- Fork本仓库并从master分支创建你的分支
- 如果你添加的代码需要测试,请添加测试,确保单元测试通过(测试代码请放在:
yue-library-test
中)- 如果你修改了API,请更新文档
- 确保代码风格一致
- 提交代码
- 新建Pull Request
- 等待维护者合并
yue-library欢迎你的加入,进行开源共建,提交的pr(pull request)需符合如下规范:
空格
作为标准,可设置一个tab
四个空格此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
Activity
Community
Health
Trend
Influence
:Code submit frequency
:React/respond to issue & PR etc.
:Well-balanced team members and collaboration
:Recent popularity of project
:Star counts, download counts etc.