Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cn-src/snippets-java
Java 代码片段 & Spring Boot 集成
https://github.com/cn-src/snippets-java
demo eclipse-collections exception jooq kryo p6spy spring-boot spring-data spring-data-jdbc
Last synced: 3 days ago
JSON representation
Java 代码片段 & Spring Boot 集成
- Host: GitHub
- URL: https://github.com/cn-src/snippets-java
- Owner: cn-src
- License: apache-2.0
- Created: 2020-07-01T02:20:32.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-11-02T06:03:11.000Z (about 3 years ago)
- Last Synced: 2023-03-21T23:19:12.473Z (over 1 year ago)
- Topics: demo, eclipse-collections, exception, jooq, kryo, p6spy, spring-boot, spring-data, spring-data-jdbc
- Language: Java
- Homepage:
- Size: 1.54 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
![CI](https://github.com/cn-src/snippets-java/workflows/CI/badge.svg)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/91008f90f9c24f7f985384a26fc74987)](https://www.codacy.com/gh/cn-src/snippets-java/dashboard?utm_source=github.com&utm_medium=referral&utm_content=cn-src/snippets-java&utm_campaign=Badge_Grade)
[![codecov](https://codecov.io/gh/cn-src/snippets-java/branch/master/graph/badge.svg)](https://codecov.io/gh/cn-src/snippets-java)
[![](https://jitpack.io/v/cn-src/snippets-java.svg)](https://jitpack.io/#cn-src/snippets-java)
![Lines of code](https://img.shields.io/tokei/lines/github/cn-src/snippets-java)
[![Java Version](https://img.shields.io/badge/Java-8%20|%2011%20|%2015-blue)](https://adoptopenjdk.net/)***
# Snippets Java
> 随时提炼一些 Java 代码片段,直接集成使用。
***## jOOQ 扩展
* 使用 `ConditionBuilder` 可动态构建 where 条件
* 使用 `ConditionCreator` 和 `@Condition` 系列注解可构建样例查询
* 使用 `cn.javaer.snippets.jooq.PGDSL` 扩展支持了 PostgreSQL 相关函数
* 使用 `Geometry` 简单支持了几何对象
* 使用 `JsonbField` 扩展 PostgreSQL 的 JSONB 支持
* 使用 `SimpleJooqJdbcRepository` 将 jOOQ 和 Spring Data JDBC 集成
* `@DataJooqJdbcTest` JooqJdbcRepository 测试支持
* `SnippetsGenerator` `TablesGenerator` jOOQ 自带代码生成器扩展
* `CodeGenTool` 全新的 jOOQ 代码生成器,无需链接数据库,基于实体类生成,支持 spring data 注解## easy-batch 扩展
* 增加时间增量同步
* 同步记录持久化到数据库
* 实时监控信息## jackson
* 使用 `cn.javaer.snippets.spring.jackson.Json` 便捷的 JSON 工具
* 支持 jOOQ 相关类型的序列化## Kryo 序列化
* 支持 Eclipse Collections 集合序列化支持
* 支持不可变 POJO 对象序列化
* 使用 `KryoPool` Kryo 对象池## 日期格式化扩展
* 自定义 `@DateFillFormat`, `@DateMaxTime`, `@DateMinTime` 等日期格式化注解,可自动填充时间部分和日期偏移
* 支持 spring 和 jackson## Tree 模型
* `TreeNode` 支持树状结构,主要用于 UI 的树结构相关组件
* 支持与 POJO 的互相转换## 组合模型
> 如果遵循严格的不可变对象设计,但有时候需要附加属性或对象时。
> 组合模型可以存放对象和附加属性或对象,在 JSON 序列化时如同序列化成一个对象。
> 受 jackson `@JsonUnwrapped` 注解的限制,组合对象只适用于序列化,不适用于反序列化。
> 配合 `MergeUtils` 使用。* `Assembler` 组合对象
* `DynamicAssembler` 组合动态对象
* `Creator` 添加 `createdBy` 属性对象
* `Auditor` 添加 `updatedBy` `createdBy` 属性对象## p6spy SQL日志扩展
* p6spy 是驱动级别的统一输出 SQL 日志,无论你混合使用何种基于 JDBC 的框架
* p6spy 可输出填充 SQL 参数的 SQL 日志
* 复制使用 hibernate 的一个源码,扩展了 p6spy 使 SQL 日志带缩进的漂亮格式化## SpringDoc
* 扩展 Pageable 和 Page 支持
* 扩展支持 Controller 的异常声明来自动生成异常响应文档## Spring
* 自定义更便捷的 Spring 事务注解,默认 `rollbackFor = Throwable.class` 来避免意外的受检查异常
* 完善的 spring web 异常处理机制,消息国际化## Spring Data
* 扩展 Eclipse Collections 支持,返回值可以使用 Eclipse Collections 的集合类型