日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

apache2.4.6支不支持jsp_Spring Boot中文参考指南(2.1.6)50、Kotlin 支持

發布時間:2025/3/21 javascript 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 apache2.4.6支不支持jsp_Spring Boot中文参考指南(2.1.6)50、Kotlin 支持 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一篇[49.4、測試你的自動配置]

下一篇[52、啟用生產就緒功能]

英文原文:https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/boot-features-kotlin.htmlGitHub:https://github.com/jijicai/Spring/tree/master/spring-boot

50、Kotlin 支持

Kotlin 是一種針對 JVM(和其他平臺)的靜態類型語言,它允許編寫簡潔而優雅的代碼,同時提供與用 Java 編寫的現有庫的互操作性。

Spring Boot 通過利用其他 Spring 項目(如 Spring Framework、 Spring Data 和 Reactor) 中的支持來提供 Kotlin 支持。有關更多信息,請參見 Spring Framework Kotlin 支持文檔。(https://docs.spring.io/spring/docs/5.1.8.RELEASE/spring-framework-reference/languages.html#kotlin )

從 Spring Boot 和 Kotlin 開始的最簡單的方法是遵循這個全面的教程。你可以通過 start.spring.io 創建新的 Kotlin 項目。如果你需要支持,請隨時加入 Kotlin Slack 的 #spring 頻道,或者在 Stack Overflow 上詢問 spring 和 kotlin 標簽的問題。

50.1、要求

Spring Boot 支持 Kotlin 1.2.x。要使用 Kotlin,org.jetbrains.kotlin:kotlin-stdlib 和 org.jetbrains.kotlin:kotlin-reflect 必須出現在類路徑上。也可以使用 kotlin-stdlib 變體 kotlin-stdlib-jdk7 和 kotlin-stdlib-jdk8。

由于 Kotlin 類是默認的 final 類,你可能需要配置 kotlin-spring 插件,以便自動打開 Spring 注解類,以便它們可以被代理。

在 Kotlin 中序列化/反序列化 JSON 數據需要 Jackson 的 Kotlin 模塊。在類路徑上找到時,它會自動注冊。如果 Jackson 和 Kotlin 存在,但 Jackson Kotlin 模塊不存在,則會記錄一條警告消息。

提示:如果在 start.spring.io 上引導 Kotlin 項目,則默認提供這些依賴項和插件。

50.2、空安全

Kotlin 的一個關鍵特性是空安全性。它在編譯時處理空值,而不是將問題推遲到運行時并遇到 NullPointerException。這有助于消除常見的錯誤源,而不必像 Optional 那樣支付包裝器的成本。Kotlin 還允許使用函數式構造,其值可以為空,如 Kotlin 中的空安全性綜合指南所述。

盡管 Java 不允許在其類型系統中表達空安全性,但 Spring Framework、Spring Data 和 Reactor 現在通過工具友好的注解為其 API 提供空安全性。默認情況下,Kotlin 中使用的 Java APIs 中的類型被識別為可以放寬空檢查的平臺類型。Kotlin 對 JSR 305 注解的支持結合可空性注解為 Kotlin 中的相關 Spring API 提供了空安全性。

JSR 305 檢查可以通過添加帶有以下選項的 -Xjsr305 編譯器標志來配置:-Xjsr305={strict | warn | ignore}。默認行為與 -Xjsr305=warn 相同。strict 值要求在從 Spring API 推斷的 Kotlin 類型中考慮空安全性,但應在使用時知道 Spring API 可空性聲明可能會在較小的版本之間演變,并且將來可能會添加更多的檢查。

警告:還不支持泛型類型參數、可變參數 和數組元素的可空性。有關最新信息,請參閱 SPR-15942。還要注意,Spring Boot 自己的 API 還沒有注解。(https://github.com/spring-projects/spring-boot/issues/10712 )

50.3、Kotlin API

50.3.1、runApplication

Spring Boot 提供了一種慣用的方法來運行帶有 runApplication(*args) 的應用程序,如下面示例所示:

import org.springframework.boot.autoconfigure.SpringBootApplicationimport org.springframework.boot.runApplication@SpringBootApplicationclass MyApplicationfun main(args: Array) { runApplication(*args)}

這是 SpringApplication.run(MyApplication::class.java, *args) 的一個嵌入式替代品。它還允許自定義應用程序,如下面示例所示:

runApplication(*args) { setBannerMode(OFF)}

50.3.2、擴展

Kotlin 擴展提供了用附加功能擴展現有類的能力。Spring Boot Kotlin API 利用這些擴展為現有 API 添加新的 Kotlin 特有的便利性。

提供了 TestRestTemplate 擴展,類似于 Spring Framework 中用于 RestOperations 的 Spring Framework 提供的擴展。除此之外,這些擴展使得利用 Kotlin 具體化類型參數成為可能。

50.4、依賴管理

為了避免在類路徑上混合不同版本的 Kotlin 依賴項,提供了以下 Kotlin 依賴項的依賴項管理:

kotlin-reflectkotlin-runtimekotlin-stdlibkotlin-stdlib-jdk7kotlin-stdlib-jdk8kotlin-stdlib-jre7kotlin-stdlib-jre8

使用 Maven,可以通過 kotlin.version 屬性自定義 Kotlin 版本,并為 kotlin-maven-plugin 提供插件管理。使用 Gradle,Spring Boot 插件會自動將 kotlin.version 與 Kotlin 插件的版本對齊。

50.5、@ConfigurationProperties

@ConfigurationProperties 當前僅適用于 lateinit 或可為空的 var 屬性(建議使用前者),因為尚不支持由構造函數初始化的不可變類。(https://github.com/spring-projects/spring-boot/issues/8762 )

@ConfigurationProperties("example.kotlin")class KotlinExampleProperties { lateinit var name: String lateinit var description: String val myService = MyService() class MyService { lateinit var apiToken: String lateinit var uri: URI }}

提示:要使用注解處理器生成你自己的元數據,應使用 spring-boot-configuration-processor 依賴項配置 kapt。

50.6、測試

雖然可以使用 JUnit 4(spring-boot-starter-test 提供的默認值)來測試 Kotlin 代碼,但建議使用 JUnit 5。JUnit 5 使測試類可以被實例化一次,并可重復用于該類的所有測試。這使得在非靜態方法上使用 @BeforeAll 和 @AfterAll 注解成為可能,這對于 Kotlin 來說是一個很好的選擇。

要使用 JUnit 5,請從 spring-boot-starter-test 中排除 junit:junit 依賴項,添加 JUnit 5 依賴項,并相應地配置 Maven 或 Gradle 插件。有關更多詳細信息,請參見 JUnit 5 文檔。你還需要將測試實例生命周期切換為 “每類”。

為了模擬 Kotlin 類,建議使用 MockK。如果你需要與 Mockito 特定的 @MockBean 和 @SpyBean 注解等效的 Mockk,則可以使用提供類似 @MockBean 和 @SpykBean 注解的 SpringMockK。

50.7、資源

50.7.1、延伸閱讀

(1)Kotlin 語言參考(https://kotlinlang.org/docs/reference/ )

(2)Kotlin Slack(配有專用 #spring 頻道)(https://slack.kotlinlang.org/ )

(3)帶 spring 和 kotlin 標簽的 Stackoverflow(https://stackoverflow.com/questions/tagged/spring+kotlin )

(4)在瀏覽器中嘗試 Kotlin(https://try.kotlinlang.org/ )

(5)Kotlin 博客(https://blog.jetbrains.com/kotlin/ )

(6)棒極了的 Kotlin(https://kotlin.link/ )

(7)教程:使用 Spring Boot 和 Kotlin 構建 web 應用程序(https://spring.io/guides/tutorials/spring-boot-kotlin/)

(8)使用 Kotlin 開發 Spring Boot 應用程序(https://spring.io/blog/2016/02/15/developing-spring-boot-applications-with-kotlin )

(9)帶有 Kotlin 、 Spring Boot 和 PostgreSQL 的地理空間信使(https://spring.io/blog/2016/03/20/a-geospatial-messenger-with-kotlin-spring-boot-and-postgresql )

(10)在 Spring Framework 5.0 中引入 Kotlin 支持(https://spring.io/blog/2017/01/04/introducing-kotlin-support-in-spring-framework-5-0 )

(11)Spring Framework 5 Kotlin APIs,函數式方式(https://spring.io/blog/2017/08/01/spring-framework-5-kotlin-apis-the-functional-way )

50.7.2、示例

(1)spring-boot-kotlin-demo:常規 Spring Boot + Spring Data JPA 項目(https://github.com/sdeleuze/spring-boot-kotlin-demo )

(2)mixit:Spring Boot 2 + WebFlux + Reactive Spring Data MongoDB(https://github.com/mixitconf/mixit )

(3)spring-kotlin-fullstack:WebFlux Kotlin 全棧示例,其中 Kotlin2js 用于前端,而不是 JavaScript 或 TypeScript(https://github.com/sdeleuze/spring-kotlin-fullstack )

(4)spring-petclinic-kotlin:Kotlin 版本的 Spring PetClinic 示例應用程序(https://github.com/spring-petclinic/spring-petclinic-kotlin )

(5)spring-kotlin-deepdive:Boot 1.0 + Java 到 Boot 2.0 + Kotlin 的逐步遷移(https://github.com/sdeleuze/spring-kotlin-deepdive )

51、延伸閱讀

如果你想了解本節中討論的任何類的更多信息,可以查看 Spring Boot API 文檔,也可以直接瀏覽源代碼。如果你有具體問題,請查看操作指南部分。

如果你對 Spring Boot 的核心功能感到滿意,你可以繼續閱讀有關生產就緒功能的內容。(https://docs.spring.io/spring-boot/docs/2.1.6.RELEASE/reference/html/production-ready.html )

上一篇[49.4、測試你的自動配置]

下一篇[52、啟用生產就緒功能]

總結

以上是生活随笔為你收集整理的apache2.4.6支不支持jsp_Spring Boot中文参考指南(2.1.6)50、Kotlin 支持的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。