摘要:二教程环境三创建项目创建项目有两种方式一种是在官网上创建二是在上创建如图所示勾选然后点,然后一直默认最后点击完成即可。我们这里看到和普通的接口没有异同,除了返回类型是用包装之外。与之对应的还有,这个后面我们会讲到。
从去年开始就开始学习kotlin了,但是一直没有时间总结自己学习的东西,现在终于有点时间了,所将整理一套SpringBoot kotlin 的开发教程,希望能够帮组更多想从Java转Kotlin的朋友。一、Kotlin简介
Kotlin是一门静态语言,支持多种平台,包括移动端、服务端以及浏览器端,此外,Kotlin还是一门融合了面向对象与函数式编程的语言,支持泛型、安全的空判断,并且Kotlin与Java可以做到完全的交互。
二、教程环境JAVA "11.0.2"
maven 3.5.3
mongodb 4.0
springBoot 2.1.3
kotlin 1.3.21
三、创建项目创建项目有两种方式:
一种是在Spring官网上创建https://start.spring.io/
二是在IDEA上创建如图所示
勾选Reactive Web 然后点NEXT,然后一直默认最后点击完成即可。
然后我们看到以下的项目结构
POM文件
四、HelloWord4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.3.RELEASE io.intodream kotlin01 1.0.0 kotlin01 Demo project for Spring Boot 1.8 1.3.21 org.springframework.boot spring-boot-starter-webflux com.fasterxml.jackson.module jackson-module-kotlin org.jetbrains.kotlin kotlin-reflect org.jetbrains.kotlin kotlin-stdlib-jdk8 org.springframework.boot spring-boot-starter-test test io.projectreactor reactor-test test ${project.basedir}/src/main/kotlin ${project.basedir}/src/test/kotlin org.springframework.boot spring-boot-maven-plugin org.jetbrains.kotlin kotlin-maven-plugin -Xjsr305=strict spring org.jetbrains.kotlin kotlin-maven-allopen ${kotlin.version}
项目创建完后,我们看到了启动类和我和熟悉的Java SpringBoot几乎是一样的,正如官方所说的完全兼容Java,所以我们就不用担心了。
package io.intodream.kotlin01 import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication @SpringBootApplication class Kotlin01Application fun main(args: Array) { runApplication (*args) }
下面我们就来写一个Hello World
@RequestMapping("/rest") @RestController class HelloController { @GetMapping("/hello") fun hello (): String { return "Hello World" } }
写完后我们开始运行项目,看到控制台输入一下信息则说明运行完毕
2019-03-24 17:03:53.848 INFO 4342 --- [ main] o.s.b.web.embedded.netty.NettyWebServer : Netty started on port(s): 8080 2019-03-24 17:03:53.863 INFO 4342 --- [ main] i.i.kotlin01.Kotlin01ApplicationKt : Started Kotlin01ApplicationKt in 3.434 seconds (JVM running for 8.546)
打开浏览器输入http://localhost:8080/rest/hello,我们会看到下面的信息,第一个SpringBoot Kotlin项目我们就写好了。
我们在创建项目的时候选择的是Reactive Web,而不是传入Web,也就是说我们可以编写响应式的Web程序,下面就编写一个简单的响应式接口。
@GetMapping("/mono") fun helloMono(): Mono{ return Mono.just("Hello Mono") }
我们这里看到和普通的接口没有异同,除了返回类型是用Mono包装之外。与之对应的还有Flux,这个后面我们会讲到。
如果大家觉得文章有用麻烦点一下赞,有问题的地方欢迎大家指出来。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/77504.html
摘要:在很多服务中我经常需要用到发送邮件功能,所幸的是可以快速使用的框架,只要引入改框架我们可以快速的完成发送邮件功能。引入获取邮件发送服务器配置在国内用的最多的就是邮件和网易邮件,这里会简单讲解获取两家服务商的发送邮件配置。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 在很多服务中我...
摘要:一本节目标前两章主要讲了的基本操作,这一章我们将学习使用访问,并通过完成简单操作。这里有一个问题什么不选用数据库呢答案是目前支持。突出点是,即非阻塞的。二构建项目及配置本章不在讲解如何构建项目了,大家可以参考第一章。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 一、本节目标 前两...
摘要:一本节目标前两章主要讲了的基本操作,这一章我们将学习使用访问,并通过完成简单操作。这里有一个问题什么不选用数据库呢答案是目前支持。突出点是,即非阻塞的。二构建项目及配置本章不在讲解如何构建项目了,大家可以参考第一章。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 一、本节目标 前两...
摘要:下一代服务端开发下一代服务端开发第部门快速开始第章快速开始环境准备,,快速上手实现一个第章企业级服务开发从到语言的缺点发展历程的缺点为什么是产生的背景解决了哪些问题为什么是的发展历程容器的配置地狱是什么从到下一代企业级服务开发在移动开发领域 《 Kotlin + Spring Boot : 下一代 Java 服务端开发 》 Kotlin + Spring Boot : 下一代 Java...
摘要:上一章我们提到过与,对于具体的介绍没说到,这一章我在这里简单介绍一下,既然提到和,那肯定得提到什么是响应式编程,什么是。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 上一章我们提到过Mono 与 Flux,对于具体的介绍没说到,这一章我在这里简单介绍一下,既然提到Mono和Flu...
阅读 2643·2021-11-25 09:43
阅读 2432·2021-09-22 15:29
阅读 963·2021-09-22 15:17
阅读 3586·2021-09-03 10:36
阅读 2201·2019-08-30 13:54
阅读 1721·2019-08-30 11:23
阅读 1145·2019-08-29 16:58
阅读 1272·2019-08-29 16:14