Kotlin Hipster = Spring Boot + Kotlin
脚本很棒,不是吗?还记得几年前我们是如何用脚本生成应用程序的吗?
引导应用程序是一项很普通的任务。随着技术日新月异,在这些普通的任务上花费大量时间并不值得。
在调试损坏的项目生成脚本的那些疯狂的时刻,我发现了JHipster并立即爱上了它 ❤️。
从本质上讲,JHipster 生成一个应用程序,它具有所有的花哨功能。
多年来,优秀的社区让 JHipster 变得更加出色。😎 👏 ✨
JHipster 呈指数级增长。一个又一个的功能涌入 JHipster 的世界。这导致我们的代码库臃肿不堪,维护难度加大。
至此,我们引入了蓝图的概念。蓝图是一个小型子生成器,它挂接到 JHipster 主生成器的不同阶段。
例如,在 JHipster 中,我们有一个后端生成器(服务器)和一个前端生成器(客户端)。使用 Blueprint,您可以完全或部分修改其中一个或两个生成器。
科特林
我偏爱静态类型语言,喜欢那种能让我写出简洁且富有表现力的代码的语言。这也是 Kotlin 最初吸引我的地方。
Kotlin 是增长速度第四快的语言,这是有原因的。该语言为您提供了编写优雅、简洁且富有表现力的代码的选项。
Kotlin 是一门很有趣的语言。Kotlin 吸收了其他语言的有趣元素,并将其融入到 Kotlin 语言中。
正如 Venkat 曾经说过的,它从代码中删除了所有的仪式。
随着 Google 宣布全面采用 Kotlin并且Spring 团队采用 Kotlin,我想体验一下 Kotlin。
这是我开始尝试Kotlin Hipster的地方。
Kotlin Hipster 又名 KHipster
KHipster 拥有 Kotlin 和 JHipster 的所有优点。它现在可以生成 100% 基于 Kotlin 的后端,并支持您在 JHipster 中选择的任何选项。
现在让我们开始创建一个 Kotlin Hipster 应用程序。
首先安装该generator-jhipster-kotlin
包。
npm i -g generator-jhipster-kotlin
安装后,创建一个文件夹并运行khipster
以构建应用程序。
mkdir app-kotlin
cd app-kotlin
khipster
这会问你一系列问题:
tl:dr; 如果您使用过 JHipster,这些问题是一样的。
我们将生成一个包含 SQL 数据库的单体应用。我们将添加基于无状态 JWT 的身份验证,并使用 Gradle 作为构建工具。我们将使用 React 作为前端。
✅ 就是这样,您已经生成了后端使用 Kotlin、前端使用 React 的 Spring Boot 应用程序。
这是一个示例entity
类。我们用关键字定义了实体类。这也消除了定义 any和 的data
需要。它完全消除了应用程序中所需的所有样板代码。getters
setters
@Entity
@Table(name = "jhi_authority")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
data class Authority(
@field:NotNull
@field:Size(max = 50)
@Id
@Column(length = 50)
var name: String? = null
) : Serializable { ... }
这是一个SecurityCondfiguration
Bean。我们扩展类的方式也不同。请注意,这里没有extends
关键字,只有一个:
后跟括号的类名。
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)
@Import(SecurityProblemSupport::class)
class SecurityConfiguration(
private val tokenProvider: TokenProvider,
private val corsFilter: CorsFilter,
private val problemSupport: SecurityProblemSupport
) : WebSecurityConfigurerAdapter() { ... }
Kotlin 是一门空值安全语言,它让我们在处理空值时更加谨慎。此外,由于原生协程支持,编写响应式应用程序变得更加容易。你甚至可以使用 KHipster 生成响应式应用程序。
Kotlin 中有许多很棒的功能,我们将在以后的文章中探索 Kotlin。
让我们使用gradle
./gradlew
现在请访问http://localhost:8080来体验超棒的全新 khipster 应用程序。
生成的应用程序从第一天起即可投入生产。实体生成与 JHipster 类似。
khipster entity foo
探索自己:创建几个实体并检查生成的文件。 -参考
您可以在Twitter上关注我。
如果你喜欢这篇文章,请点赞或者留言。❤️
如果您喜欢 KHipster,请在您的社区内分享它,并且不要忘记为该 repo 加注星标。
鏂囩珷鏉ユ簮锛�https://dev.to/sendilkumarn/kotlin-hipster-spring-boot-kotlin-4956