使用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,通过构造函数注入依赖。
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微服务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java中JSONObject转换为HashMap(方法+main方法调用实例)
这篇文章主要介绍了java中JSONObject转换为HashMap(方法+main方法调用实例),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-11-11在RedisTemplate中使用scan代替keys指令操作
这篇文章主要介绍了在RedisTemplate中使用scan代替keys指令操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-11-11Java使用get请求接收List集合数据(json)并导出报表问题
这篇文章主要介绍了Java使用get请求接收List集合数据(json)并导出报表问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-11-11Spring boot搭建web应用集成thymeleaf模板实现登陆
这篇文章主要介绍了Spring boot搭建web应用集成thymeleaf模板实现登陆,页面使用bootstrap,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-12-12使用Java接收和处理OpenTelemetry数据的完整指南
在现代分布式系统中,OpenTelemetry 成为了一种常见的标准,用于跟踪和监控应用程序的性能和行为,OTLP是 OpenTelemetry 社区定义的一种数据传输协议,文将介绍如何使用 Java 编写代码来接收和处理 OTLP 数据,需要的朋友可以参考下2024-04-04IDEA与模拟器安装调试失败的处理方法:INSTALL_PARSE_FAILED_NO_CERTIFICATES
这篇文章主要介绍了IDEA与模拟器安装调试失败的处理方法:INSTALL_PARSE_FAILED_NO_CERTIFICATES,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-09详解SpringBoot2 使用Spring Session集群
这篇文章主要介绍了SpringBoot2 使用Spring Session集群,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下2019-04-04
最新评论