11.3 环境准备
11.3.1 创建工程
首先,我们使用SPRING INITIALIZR来创建一个模板工程。
第一步:访问 http://start.spring.io/, 选择生成一个Gradle项目,使用Kotlin语言,使用的Spring Boot版本是2.0.0 M2。
第二步: 配置项目基本信息。
Group: com.easy.kotlin
Artifact:chapter11_kotlin_springboot
以及项目名称、项目描述、包名称等其他的选项。选择jar包方式打包,使用JDK1.8 。
第三步:选择项目依赖。我们这里分别选择了:Web、DevTools、JPA、MySQL、Actuator、Freemarker。
以上三步如下图所示:
点击生成项目,下载zip包,解压后导入IDEA中,我们可以看到一个如下目录结构的工程:
.
├── build
│ └── kotlin-build
│ └── caches
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
└── src
├── main
│ ├── kotlin
│ │ └── com
│ │ └── easy
│ │ └── kotlin
│ │ └── chapter11_kotlin_springboot
│ │ └── Chapter11KotlinSpringbootApplication.kt
│ └── resources
│ ├── application.properties
│ ├── static
│ └── templates
└── test
└── kotlin
└── com
└── easy
└── kotlin
└── chapter11_kotlin_springboot
└── Chapter11KotlinSpringbootApplicationTests.kt
21 directories, 8 files
其中,Chapter11KotlinSpringbootApplication.kt是SpringBoot应用的入口启动类。
11.3.2 Gradle配置文件说明
整个工程的Gradle构建配置文件build.gradle的内容如下:
buildscript {
ext {
kotlinVersion = '1.1.3-2'
springBootVersion = '2.0.0.M2'
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${kotlinVersion}")
classpath("org.jetbrains.kotlin:kotlin-allopen:${kotlinVersion}")
}
}
apply plugin: 'kotlin'
apply plugin: 'kotlin-spring'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
repositories {
mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
}
dependencies {
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-freemarker')
compile('org.springframework.boot:spring-boot-starter-web')
compile("org.jetbrains.kotlin:kotlin-stdlib-jre8:${kotlinVersion}")
compile("org.jetbrains.kotlin:kotlin-reflect:${kotlinVersion}")
runtime('org.springframework.boot:spring-boot-devtools')
runtime('mysql:mysql-connector-java')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
其中主要的配置项如下表说明:
配置项 | 功能说明 |
---|---|
spring-boot-gradle-plugin | SpringBoot集成Gradle的插件 |
kotlin-gradle-plugin | Kotlin集成Gradle的插件 |
kotlin-allopen | Kotlin全开放插件。Kotlin 里类默认都是final的,如果声明的类需要被继承则需要使用open 关键字来描述类,这个插件就是把Kotlin中的所有类都open打开,可被继承 |
spring-boot-starter-actuator | SpringBoot的健康检查监控组件启动器 |
spring-boot-starter-data-jpa | JPA启动器 |
spring-boot-starter-freemarker | 模板引擎freemarker启动器 |
kotlin-stdlib-jre8 | Kotlin基于JRE8的标准库 |
kotlin-reflect | Kotlin反射库 |
spring-boot-devtools | SpringBoot开发者工具,例如:热部署等 |
mysql-connector-java | Java的MySQL连接器库 |
spring-boot-starter-test | 测试启动器 |
当前内容版权归 JackChan1999 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 JackChan1999 .