您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何使用kotlin編寫spring cloud微服務”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何使用kotlin編寫spring cloud微服務”這篇文章吧。
使用idea的spring initializr創建一個項目,語言選擇kotlin, 類型為gradle。
根據需要選擇依賴
yml或者properties文件和java是完全一樣的,這里不詳細說明
修改build.gradle.kts中的參數:
plugins { //spring boot版本 id("org.springframework.boot") version "2.3.3.RELEASE" //自動依賴包版本管理 id("io.spring.dependency-management") version "1.0.10.RELEASE" ... } //spring cloud 版本 extra["springCloudVersion"] = "Hoxton.SR8" repositories { //本地maven maven { url = uri("http://192.168.1.150:8081/repository/maven-public/") credentials { username = "admin" password = "admin" } } maven { url = uri("https://repo.spring.io/milestone") } jcenter { content { // just allow to include kotlinx projects // detekt needs 'kotlinx-html' for the html report includeGroup("org.jetbrains.kotlinx") } } } ...
Application
/** * 商品服務 */ @SpringBootApplication class ProductApplication /** * 程序入口 */ fun main(args: Array<String>) { runApplication<ProductApplication>(*args) }
這是自動生成程序入口,不用修改
編寫controller
@RestController @RequestMapping("v2/test") class SpuManagerController(val xService: XService) { @PostMapping("") fun addSpu(@RequestBody addXxVO: AddXxVO):Long{ return xrService.addX(addXxVO) } }
這是一個controller,通過構造函數注入依賴。
實體類:
@Entity(name = "table_name") @DynamicInsert //不插入null @DynamicUpdate class XxPO( var code:String, var name:String, var createDate:Date?=null, var updatedDate: Date?=null, @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var id:Long?=null)
Repository:
interface XxRepository :CrudRepository<SpuPO,Long>
由于沒有自定義的方法,直接定義一個接口即可。
略
單元測試
@SpringBootTest @AutoConfigureMockMvc @Transactional class SpuManagerControllerTests @Autowired constructor(val mockMvc: MockMvc, val xxRepository : XxRepository ) { @Test fun testAddSpu() { val vo= AddXxVO("test_code", "test_name") mockMvc.perform( MockMvcRequestBuilders.post("/v2/test") .contentType(MediaType.APPLICATION_JSON) .content(JSON.toJSONString(vo)) ).andExpect { status().is2xxSuccessful } .andReturn() .response .contentAsString .apply { val id = this.toLong() val result = xxRepository .findById(id) assert(result.isPresent) } } }
注意 @Test對應的類是
org.junit.jupiter.api.Test
以上是“如何使用kotlin編寫spring cloud微服務”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。