Kotlin來了 1.1 Spring

powerx_yc發表於2017-05-21

這是Kotlin隨筆之Concise-簡潔主題的第2篇隨筆

第1篇重溫"Simple is Beautiful"這句經典在Kotlin和舊Java在宣告一個類的語法上的體現

Kotlin是在Google I/O官宣Android採用為一級開發語言後一夜圈粉無數

其實之前Java另一大家Spring已經和Kotlin連線spring-kotlin

Spring應用開發很大一部分工作就是裝配Bean物件了

最早的時候,只能能Xml檔案裝配

後來通過註解@Configuration和@Bean,也能在Java程式碼裡裝配

Spring5借Java8引入的Lambda語法讓在Java程式碼用Supplier來扮演FactoryBean(Bean物件工廠),程式碼看起來像這樣:

GenericApplicationContext context = new GenericApplicationContext();

context.registerBean(Foo.class);

context.registerBean(Bar.class, ()->new

    Bar(context.getBean(Foo.class))

);

Spring5官方內建支援Kotlin,它的程式碼像這樣

val context = GenericApplicationContext {

    registerBean()

    registerBean { Bar(it.getBean()) }

}

字元數185:105,少了將近一半。也要承認,這種簡潔程式碼的前提也是需要程式設計師額外學習一些新語法的,這算是美的代價。不是說要把時間浪費在美好的事情上麼?

今日是二十四節氣的小滿,Spring5來Spring4去,Kotlin會小滿麼?

相關文章