Kotlin可以与Java无缝对接,之前我们搞了Kotlin入门,我们今天试试Kotlin进行SpringBoot开发吧
首先pom.xml引入依赖,除了导入库之外还需要额外的添加Kotlin的兼容包
代码语言:javascript复制 <dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-stdlib-jdk8</artifactId>
<version>${kotlin.version}</version>
</dependency>
<dependency>
<groupId>org.jetbrains.kotlin</groupId>
<artifactId>kotlin-test</artifactId>
<version>${kotlin.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
SpringBoot启动配置,依然使用注解的方式进行,这点与Java方式类似
代码语言:javascript复制@SpringBootApplication
@MapperScan("com.xsk.mapper")
open class KtNoeteApplication {
}
fun main(args:Array<String>) {
runApplication<KtNoeteApplication>(*args)
}
在这里启动来说还是踩到了坑,与之前Java的比较不同,稍微查询一下开坑就过去啦……
我们少为看一下这个是个什么鬼
代码语言:javascript复制public inline fun <reified T : kotlin.Any> runApplication(vararg args:
kotlin.String): org.springframework.context.ConfigurableApplicationContext { /* compiled code */ }
public inline fun <reified T : kotlin.Any> runApplication(vararg args: kotlin.String,
init: org.springframework.boot.SpringApplication.() -> kotlin.Unit): org.springframework.context.ConfigurableApplicationContext {
/* compiled code */ }
Controller响应服务
代码语言:javascript复制@Controller
class WelcomeController {
@GetMapping("/welcome")
public fun welcome(model: Model): String {
return "welcome"
}
}
总的来说,Kotlin进行SpringBoot开发稍微有点不适应,但是总体来书就是语法习惯问题
总结:
使用Kotlin进行SpringBoot基本行的开发没什么大的问题,主要就是要一些语法的转变。当然了我们之后写了一个基本的例子还不足以体会到Kotlin语法的精妙,需要后续认真的梳理了Kotlin的基础语法之后才能体会到Kotlin相对与Java的超长裹脚布来说是多么的精炼