SpringBoot在Kotlin中的实现(一)
本节记录如何用Kotlin初步搭建一个SpringBoot的环境(使用Gradle自动化构建工具)。
1、新建一个Gradle的Kotlin

配置完成后,build.gradle的配置如下:
buildscript {
ext.kotlin_version = '1.2.0'
repositories {
mavenCentral()
}
dependencies {
//Kotlin Gradle插件
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
group 'com.SpringBootUseKotlin.Code'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'kotlin'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
testCompile group: 'junit', name: 'junit', version: '4.12'
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
2、配置SpringBoot的相关内容
在build.gradle的构建脚本buildscript中新增
//配置SpringBoot的版本ext.springbiit_version = '1.5.4.RELEASE'
在构建脚本中添加依赖
//SpringBoot Gradle插件classpath "org.springframework.boot:spring-boot-gradle-plugin:$springboot_version"
//Kotlin整合SpringBoot的默认无参构造函数,默认把所有的类设置open类插件classpath("org.jetbrains.kotlin:kotlin-noarg:$kotlin_version")classpath("org.jetbrains.kotlin:kotlin-allopen:$kotlin_version")
到此Kotlin官网的配置就基本完成了(application.properties中的配置暂不考虑)
3、添加主类和main函数。
在包com.SpringBootUseKotlin.Code中新增Kotlin的类myMainClass
package com.SpringBootUseKotlin.Code
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
@SpringBootApplication
open class myMainClass{
}
fun main(args:Array<String>){
SpringApplication.run(myMainClass::class.java, *args)
}
上述主类是开发完成后的样子,实际上还缺少了很多配置:

上图的标红的问题可以通过配置解决,在build.gradle中,添加插件和依赖项:
apply plugin: 'org.springframework.boot'
dependencies {
compile 'org.springframework.boot:spring-boot-starter-web'
}
4、右键myMainClass,点击运行,看到下面的输出,即初步配置完成。

SpringBoot在Kotlin中的实现(一)的更多相关文章
- SpringBoot在Kotlin中的实现(二)
根据现在的开发模式和网上的一些资料,SpringBoot需要对业务和操作进行分层,通常分为controller.entity.service.respository等结构.下面以Kotlin官网的例子 ...
- Kotlin中变量不同于Java: var 对val(KAD 02)
原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 201 ...
- SpringBoot拦截器中Bean无法注入(转)
问题 这两天遇到SpringBoot拦截器中Bean无法注入问题.下面介绍我的思考过程和解决过程: 1.由于其他bean在service,controller层注入一点问题也没有,开始根本没意识到Be ...
- spring-boot的spring-cache中的扩展redis缓存的ttl和key名
原文地址:spring-boot的spring-cache中的扩展redis缓存的ttl和key名 前提 spring-cache大家都用过,其中使用redis-cache大家也用过,至于如何使用怎么 ...
- springboot在eclipse中运行使用开发配置,打包后运行使用生产环境默认配置
java命令运行springboot jar文件,指定配置文件可使用如下两个参数中其中一个 --spring.config.location=配置文件路径 -Dspring.profiles.acti ...
- SpringBoot Mybatis项目中的多数据源支持
1.概述 有时项目里里需要抽取不同系统中的数据源,需要访问不同的数据库,本文介绍在Springboot+Mybatis项目中如何支持多数据源操作. 有需要的同学可以下载 示例代码 项目结构如下: 2. ...
- Kotlin中与Java不同的地方 需要注意
1. 在Kotlin中不会将基本数据类型的自动转型比如 scriptIntrinsicBlur.setRadius(25) //报错, 必须写成 25f 或者 调用.toFloat() 2.Kotli ...
- Kotlin中三元运算符
int a = 10;int b = 11;int c = a > b ? a : b; 到了 kotlin中 val a = 10val b = 11val c = if (a > b) ...
- kotlin中“==”和“===”的区别
code 1 fun main(args: Array<String>) { val a : Int = 1000 println(a == a) //true println(a === ...
随机推荐
- react-router、react-router-dom、react-router-native 关系
react-router 为 React Router 提供核心路由功能,但是你不需要直接安装 react-router: 如果你写浏览器端应用,你应该安装 react-router-dom: 如果你 ...
- python re正则模块
re 正则表达式操作 本模块提供了类似于Perl的正则表达式匹配操作.要匹配的模式和字符串可以是Unicode字符串以及8位字符串. 正则表达式使用反斜杠字符('\')来表示特殊的形式或者来允许使用 ...
- windows下安装python-Levenshtein
安装python-Levenshtein 报错 error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Vi ...
- Anaconda详细安装使用教程
版权声明:本文为博主原创文章,欢迎大家转载,但是要注明我的文章地址. https://blog.csdn.net/program_developer/article/details/79677557 ...
- 配置中心Server端
为什么需要统一配置中心 1.不方便维护.一个功能被多个人开发,如果其中一个人修改了配置文件,另外一个人测试之前的功能,准备使用之前的配置. 2.配置内容安全与权限.线上的配置是不会对开发公开,特别是数 ...
- Go mysql使用举例
下载MySQL驱动 $ go get github.com/go-sql-driver/mysql 或者下载源码放到GOPATH中,下载地址:https://github.com/go-sql-dri ...
- RedHat6.5系统LVM增加新硬盘实现根文件系统扩容
一.新增物理空间 二.linux中创建新分区 1.首先查看硬盘信息,用fdisk -l命令,如果有硬盘有剩余空间就可以对其进行分区. [root@master 桌面]# fdisk -l Disk / ...
- iOS-微信分享多张图片(UIActivityViewController多图分享和多图分享失败)
前言 微信分享到朋友圈,可分享的类型有:文字类型.图片类型.音乐类型.视频类型和网页类型,但是我们在做图片分享的时候发现微信给的API只能分享一张图片,达不到一些APP的需求,而产品汪或者Boss想要 ...
- golang语言并发与并行——goroutine和channel的详细理解(一) 转发自https://blog.csdn.net/skh2015java/article/details/60330785
如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人. Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据. ...
- mysql 性能
https://blog.csdn.net/zengxuewen2045/article/category/6388631 #sda 磁盘信息dstat -D sda 3 5 #找出系统瓶颈dstat ...