kotlin-backend-tool-library
kotlin-backend-tool-library copied to clipboard
A kotlin backend development tool library,mainly includes common kotlin extensions for daily projects。轻松将kotlin加入现有java后端项目,自己日常工具类
kotlin-backend-tool-library
A kotlin backend development tool library,mainly includes common kotlin extensions for daily projects
Easily add kotlin to existing Java projects
轻松将kotlin加入现有的java项目
kotlin是java生态中最好用的库!!!
Spring Initializr默认生成的kotlin项目只能在kotlin代码中调用java。不能互相调用。 由于kotlin和java的良好互操作性,可以在任何项目中加入kotlin代码,不影响现有的java代码。
如何使用?
1.引入maven parent
配置kotlin所有插件,还包括格式化插件,findBug插件等常用插件只需要将
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.0</version>
</parent>
替换成:
<parent>
<groupId>com.github.jchanghong</groupId>
<artifactId>kbtool-parent</artifactId>
<version>2.7.0</version>
</parent>
2.加入kbtool-lib依赖(如果只是想增加kotlin插件配置,不需要引入)
通过加入如下依赖,就可以把后端常用库全部引入, 比如guava,hutool,common系列,spring-mvc,validation,json常用库,http,retry常用库等等
<dependency>
<groupId>com.github.jchanghong</groupId>
<artifactId>kbtool-lib</artifactId>
<version>2.7.0</version>
</dependency>
并将工作中常用的工具类,独立出来,方便多项目引入,比如下面这些代码(会持续更新):
val date = "2022-05-05 00:00:00".toDateJdk7OrNull()
println(date.toStrOrNow())
println(date.toLocalDateTime().toStrOrNow())
println(date.toJsonStr())
println("hello".toUnderlineCase())
println("hello".upperFirst())
println("hello".toCamelCase())
RetryHelper.submitByRetry4Times(aCallable)
RetryHelper.submitByRetryNTimes(aCallable)
HttpHelper.postJsonStringSyn("https://","{}")
val abean="{}".jsonToObject<ABean>()
kbtool-parent默认加入
- kotlin-reflect
- kotlin-stdlib-jdk8
- lombok
- spring-boot-starter-test
kbtool-lib默认加入以下依赖
- guava-retrying 重试
- hutool-all 工具库
- okhttp 工具库
- kotlinx-coroutines
- guava 工具库
- cglib
- json-path
- commons-fileupload
- commons-net
- commons-io
- commons-text
- springfox swagger接口
- fastjson
- spring-boot-starter-json
- spring-boot-starter-validation
- spring-boot-starter-web
- jsoup
- ojdbc8
- postgresql 可以去掉换mysql等
- hibernate-types-52 jpa插件库
- jackson-datatype-* json额外的类型库