Kotlin 启动 SpringBoot 工程
Kotlin 启动 SpringBoot 工程步骤 + 踩坑
有时候, 我们发现 Kotlin 写起来比 Java 爽多了, 遂使用 Kotlin 构建 SpringBoot 工程
- 首先, 我们把 IDEA 中新建的 Java 改为 Kt
@SpringBootApplication
object RustApplication {
@JvmStatic
fun main(args: Array<String>) {
SpringApplication.run(RustApplication::class.java, *args)
}
}
然而运行的时候, 可能报这个错
BeanDefinitionParsingException: Configuration problem: @Configuration class 'RustApplication' may not be final. Remove the final modifier to continue.
Offending resource: com.misection.rust.RustApplication
at org.springframework.beans.factory.parsing
这是因为 Kotlin 的类默认为 final, 我们需要声明为 open class
@SpringBootApplication
open class RustApplication
fun main(args: Array<String>) {
SpringApplication.run(RustApplication::class.java, *args)
}
类似这样, 自然也不能用 object 了, 所以将 main
方法放到外面
- 接下来, 我们可以启动 SpringBoot 工程了
有时候我们直接在界面 run 工程, 可能出现这样的情形, 上面工具栏 idea 没有将工程识别为 SpringBoot 工程而是普通 Kotlin 工程
导致 run 的时候直接一口气运行完结束了, 我们的控制台也失去了多样的色彩
- 怎么解决上面的问题呢?
这个时候, 我们可以新建一个 SpringBoot 配置, 大概如下步骤
再 run, 可以看到我们成功地 run 起了 SpringBoot Application