Spring Boot 2.x Kotlin游乐场Exposed PostgreSQL示例

Spring Boot 2.x 的 Kotlin 游乐场项目,蛮适合你用来摸索 Spring 全家桶配合 Kotlin 的玩法。它用的是 JetBrains 出的Exposed,而不是常见的JPA,写起来更 Kotlin 风格,类型安全也高不少。数据库用的是PostgreSQL,还配了Flyway做数据库版本控制,结构变更也不怕。

项目结构清晰,Docker 也配好了,直接跑起来就能看效果。你要是刚好在学 Kotlin + Spring Boot,这个项目挺合适当作练手项目。不光能试 ORM,JSONB字段也搞了,可以玩一下 PostgreSQL 的 JSON 存储能力。

如果你之前用过Spring Data JPA,会觉得 Exposed 的 DSL 方式更灵活,写查询不用绕来绕去。比如:

object Users : Table() {
  val name = varchar("name", 50)
}
val result = Users.select { Users.name eq "Tom" }

适合偏 Kotlin 风格的你。如果你平时喜欢动手试、搭环境,那这套组合用起来也蛮舒服的。代码清爽,响应也快。

如果你想自己搭建一个Kotlin + Spring Boot的后端服务,建议你先 fork 一份代码跑起来,摸清各个模块怎么协作,是 Flyway 和 Exposed 的集成方式,值得学。

 *的游乐场,暴露于kotlin,暴露于jetbrains的,postgres,jsonb,flyway,docker
暴露于spring-kotlin的场所:用于Spring启动2. *的游乐场,暴露于kotlin,暴露于jetbrains的,postgres,jsonb,flyway,docker 预估大小:147个文件
file
.gitignore 111B
file
gradlew 6KB
file
gradlew.bat 3KB
file
ApiController.kt 8KB
file
BookRepoTest.kt 7KB
file
RepoTest.kt 6KB
file
testcase-009.json 977B
file
testcase-008.json 3KB
file
testcase-006.json 390B
file
testcase-004.json 973B
file
testcase-003.json 1KB
file
testcase-001.json 3KB
file
testcase-010.json 3KB
file
testcase-005.json 881B
file
testcase-007.json 391B
file
testcase-002.json 1KB
file
golden-test-data.json 17KB
file
Dockerfile 233B
file
Dockerfile 237B
file
gradle-wrapper.jar 58KB
zip 文件大小:209.17KB