资讯专栏INFORMATION COLUMN

SpringBoot 2.X Kotlin 系列之Hello World

warkiz / 2745人阅读

摘要:二教程环境三创建项目创建项目有两种方式一种是在官网上创建二是在上创建如图所示勾选然后点,然后一直默认最后点击完成即可。我们这里看到和普通的接口没有异同,除了返回类型是用包装之外。与之对应的还有,这个后面我们会讲到。

从去年开始就开始学习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文件



    4.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}
                    
                
            
        
    



四、HelloWord

项目创建完后,我们看到了启动类和我和熟悉的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

相关文章

  • SpringBoot 2.X Kotlin系列JavaMailSender发送邮件

    摘要:在很多服务中我经常需要用到发送邮件功能,所幸的是可以快速使用的框架,只要引入改框架我们可以快速的完成发送邮件功能。引入获取邮件发送服务器配置在国内用的最多的就是邮件和网易邮件,这里会简单讲解获取两家服务商的发送邮件配置。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 在很多服务中我...

    derek_334892 评论0 收藏0
  • SpringBoot 2.X Kotlin 系列Reactive Mongodb 与 JPA

    摘要:一本节目标前两章主要讲了的基本操作,这一章我们将学习使用访问,并通过完成简单操作。这里有一个问题什么不选用数据库呢答案是目前支持。突出点是,即非阻塞的。二构建项目及配置本章不在讲解如何构建项目了,大家可以参考第一章。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 一、本节目标 前两...

    MSchumi 评论0 收藏0
  • SpringBoot 2.X Kotlin 系列Reactive Mongodb 与 JPA

    摘要:一本节目标前两章主要讲了的基本操作,这一章我们将学习使用访问,并通过完成简单操作。这里有一个问题什么不选用数据库呢答案是目前支持。突出点是,即非阻塞的。二构建项目及配置本章不在讲解如何构建项目了,大家可以参考第一章。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 一、本节目标 前两...

    琛h。 评论0 收藏0
  • Kotlin + Spring Boot : 下一代 Java 服务端开发 》

    摘要:下一代服务端开发下一代服务端开发第部门快速开始第章快速开始环境准备,,快速上手实现一个第章企业级服务开发从到语言的缺点发展历程的缺点为什么是产生的背景解决了哪些问题为什么是的发展历程容器的配置地狱是什么从到下一代企业级服务开发在移动开发领域 《 Kotlin + Spring Boot : 下一代 Java 服务端开发 》 Kotlin + Spring Boot : 下一代 Java...

    springDevBird 评论0 收藏0
  • SpringBoot Kotlin 系列HTML与WebFlux

    摘要:上一章我们提到过与,对于具体的介绍没说到,这一章我在这里简单介绍一下,既然提到和,那肯定得提到什么是响应式编程,什么是。 showImg(https://segmentfault.com/img/remote/1460000018819338?w=1024&h=500); 上一章我们提到过Mono 与 Flux,对于具体的介绍没说到,这一章我在这里简单介绍一下,既然提到Mono和Flu...

    crossoverJie 评论0 收藏0

发表评论

0条评论

warkiz

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<