Kotlin 已悄然成为 Spring 继支持 Groovy 后的第二个 JVM 语言。持续关注 Java 的同时,也顺手在 Spring 上体验了一把。
本例简单记录 Kotlin 的初始化以及配置文件的输出,建立在熟悉 Spring、Spring Boot 及 Kotlin 的基础上,如对 Spring 框架或 Kotlin 语言比较陌生,建议先行了解。
1、创建项目
使用熟悉且强大的 idea,通过 Spring Initializr 创建项目,点击下一步;
2、选择语言
这里 Language 一栏可以看出来,有 Java、Groovy 以及最新增加的 Kotlin,我们选 Kotlin,构建工具采用 gradle,点击下一步;
3、选择 Spring Boot 版本及功能
根据需求选择希望使用的 Spring Boot 版本及功能模块(比如希望使用 Reactive Web 则需要使用 Spring Boot 2 以上版本),这里我们使用 Spring Boot 1.5.10,点击下一步;
4、安装依赖
等待依赖下载完毕,即可体验基于 Spring、Kotlin 进行编码。
当然,如果习惯自己动手,完全可以根据需求配置依赖并安装或,省去 Spring Initializr 初始化这步,以上所初始化配置如下,贴出来供参考:
buildscript { ext { kotlinVersion = '1.2.20' springBootVersion = '1.5.10.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}") classpath("org.jetbrains.kotlin:kotlin-allopen:${kotlinVersion}") } } apply plugin: 'kotlin' apply plugin: 'kotlin-spring' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' group = 'com.poorren' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 compileKotlin { kotlinOptions { freeCompilerArgs = ["-Xjsr305=strict"] jvmTarget = "1.8" } } compileTestKotlin { kotlinOptions { freeCompilerArgs = ["-Xjsr305=strict"] jvmTarget = "1.8" } } repositories { mavenCentral() } dependencies { compile('org.springframework.boot:spring-boot-starter-web') compile('com.fasterxml.jackson.module:jackson-module-kotlin') compile("org.jetbrains.kotlin:kotlin-stdlib-jdk8:${kotlinVersion}") compile("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}") testCompile('org.springframework.boot:spring-boot-starter-test') }
至于启动,和 Java 编写 Spring Boot 应用启动方式一致,这里直接启动 DemoApplication 的 main 函数。
具体语法上的使用,参考
https://spring.io/
https://kotlinlang.org/