运用Kotlin进行SpringBoot入门开发

  • 2019 年 10 月 4 日
  • 筆記

Kotlin可以与Java无缝对接,之前我们搞了Kotlin入门,我们今天试试Kotlin进行SpringBoot开发吧

首先pom.xml引入依赖,除了导入库之外还需要额外的添加Kotlin的兼容包

   <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方式类似

@SpringBootApplication  @MapperScan("com.xsk.mapper")  open class KtNoeteApplication {    }  fun main(args:Array<String>) {   runApplication<KtNoeteApplication>(*args)  }

在这里启动来说还是踩到了坑,与之前Java的比较不同,稍微查询一下开坑就过去啦……

我们少为看一下这个是个什么鬼

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响应服务

@Controller  class WelcomeController {      @GetMapping("/welcome")      public fun welcome(model: Model): String {          return "welcome"      }  }

总的来说,Kotlin进行SpringBoot开发稍微有点不适应,但是总体来书就是语法习惯问题

总结:

使用Kotlin进行SpringBoot基本行的开发没什么大的问题,主要就是要一些语法的转变。当然了我们之后写了一个基本的例子还不足以体会到Kotlin语法的精妙,需要后续认真的梳理了Kotlin的基础语法之后才能体会到Kotlin相对与Java的超长裹脚布来说是多么的精炼