運用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的超長裹腳布來說是多麼的精鍊