使用kotlin编写spring cloud微服务的过程
程序员文章站
2022-06-17 22:28:54
创建工程使用idea的spring initializr创建一个项目,语言选择kotlin, 类型为gradle。根据需要选择依赖配置文件yml或者properties文件和java是完全一样的,这里...
创建工程
使用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,通过构造函数注入依赖。
jpa
实体类:
@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>
由于没有自定义的方法,直接定义一个接口即可。
service
略
单元测试
@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微服务的文章就介绍到这了,更多相关kotlin spring cloud微服务内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: linux防火墙配置(基于yum仓的配置)详细步骤
下一篇: MongoDB 副本集的搭建过程
推荐阅读
-
spring cloud consul使用ip注册服务的方法示例
-
详解使用Spring Cloud Consul实现服务的注册和发现
-
spring cloud 之 Feign 使用HTTP请求远程服务的实现方法
-
详解使用Spring Cloud Consul实现服务的注册和发现
-
spring cloud 之 Feign 使用HTTP请求远程服务的实现方法
-
spring cloud 使用Hystrix 实现断路器进行服务容错保护的方法
-
使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)
-
spring cloud 使用Hystrix 实现断路器进行服务容错保护的方法
-
使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)
-
微信小程序授权 获取用户的openid和session_key【后端使用java语言编写】,我写的是get方式,目的是测试能否获取到微信服务器中的数据,后期我会写上post请求方式。