运用Kotlin进行SpringBoot入门开发

2019-09-17 15:58:13 浏览数 (1)

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的超长裹脚布来说是多么的精炼

0 人点赞