博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Gradle从零开始创建SpringBoot项目
阅读量:3576 次
发布时间:2019-05-20

本文共 3967 字,大约阅读时间需要 13 分钟。

安装gradle

  1. Gradle的安装包(可选择或者
  2. 解压压缩包到安装路径, 如:
~$ mkdir -p /usr/local/gradle~$ cd /usr/local/gradle~$ unzip ~/Downloads/gradle-6.0-bin.zip
  1. 导入环境
  • Gradlebin目录添加到PATH环境变量
~$ echo "export PATH=$GRADLE_HOME/bin:$PATH" >> ~/.bashrc # ~/.bash_profile ~/.zshrc~$ source ~/.bashrc
  • 或者将 Gradle的可执行文件软连接到 /usr/loca/bin
~$ ln -s $GRADLE_HOME/bin/gradle /usr/local/bin/gradle

提示: $GRADLE_HOME指的是gradle解压后的目录, 比如 /usr/local/gradle/6.0

使用gradle 创建初始工程

➜  Kotlin mkdir project➜  Kotlin cd project➜  project gradle initConfiguration on demand is an incubating feature.Select type of project to generate:  1: basic  2: application  3: library  4: Gradle pluginEnter selection (default: basic) [1..4] 2Select implementation language:  1: C++  2: Groovy  3: Java  4: Kotlin  5: SwiftEnter selection (default: Java) [1..5] 4Select build script DSL:  1: Groovy  2: KotlinEnter selection (default: Kotlin) [1..2] 2Project name (default: project): appSource package (default: app): com.oyoungBUILD SUCCESSFUL in 24s2 actionable tasks: 2 executed➜  project

使用IntelliJ Idea打开刚刚创建的项目

在这里插入图片描述

修改build.gradle.kts文件

  1. 简化kotlin相关的依赖导入
dependencies {
// Align versions of all Kotlin components implementation(platform("org.jetbrains.kotlin:kotlin-bom")) // Use the Kotlin JDK 8 standard library. implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8") // Use the Kotlin test library. testImplementation("org.jetbrains.kotlin:kotlin-test") // Use the Kotlin JUnit integration. testImplementation("org.jetbrains.kotlin:kotlin-test-junit")}

改为

dependencies {
implementation(kotlin("stdlib", "1.3.50")) implementation(kotlin("reflect", "1.3.50")) /// kotlin 反射机制需要的库 /// 暂时不需要改动 testImplementation("org.jetbrains.kotlin:kotlin-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit")}
  1. 导入springboot 相关插件
plugins {
kotlin("jvm") version "1.3.50" kotlin("plugin.spring") version "1.3.50" id("org.springframework.boot") version "2.2.1.RELEASE" id("io.spring.dependency-management") version "1.0.8.RELEASE"}

其中 使用 kotlin()方法包裹的, 属于kotlin模块,使用 id()方法的是第三方模块

4. 增加 mavenCentral()仓库

repositories {
mavenCentral() jcenter()}
  1. 导入 "org.springframework.boot:spring-boot-starter-web"
dependencies {
/// ... implementation("org.springframework.boot", "spring-boot-starter-web") /// implementation("org.springframework.boot:spring-boot-starter-web") /// ...}

打开我们的程序入口App.kt

package com.oyoungclass App {
val greeting: String get() {
return "Hello world." }}fun main(args: Array
) {
println(App().greeting)}

改成如下:

package com.oyoung /// 这里改成自己明明的包import org.springframework.boot.autoconfigure.SpringBootApplicationimport org.springframework.boot.runApplication@SpringBootApplicationclass Appfun main(args: Array
) {
runApplication
(*args)}

此刻我们看到runApplication这一行有红色波浪线,鼠标移到上面提示:

错误提示
这表示我们的kotlin build的字节码的jvm版本与我们实际设定的不一致

group = "com.oyoung"version = "0.0.1-SNAPSHOT"java.sourceCompatibility = JavaVersion.VERSION_1_8

按提示增加 -jvm-target 参数

  1. 删除最下面自动生成的 application 任务
  2. 增加一个KotlinCompile任务
tasks.withType
() {
kotlinOptions {
jvmTarget = "1.8" }}

建议自己敲上面的代码, 在敲代码的过程中会有一个自动导入的import 添加到文件开头

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

当然了, 如果IDE响应太慢没有自动import,也可以手动导入

首次尝试启动

打开定位为App.kt文件

main 函数的左侧, 显示行号的附近有一个三角形箭头, 点击, 然后会有弹出来的菜单, 之后的操作, 你懂的…
运行

此时, 如果一切正常的话, 将会以默认的8080端口号启动一个没有任何路由请求的SpringBoot应用程序, 如果需要修改为自定义的端口号, 需要在$PROJECT/src/main/resources路径下新建一个application.yml(或者application.properties)文件:

server:  port: 4000
  • 第二次启动应用时 端口号即可改为自定义的端口号

增加controller

  1. 新建一个 com.oyoung.controller包 (或者使用自己的包前缀)
  2. 新建一个 Controller类, 比如 TestController
  3. 在自定义的Controller上面添加注解 @RestController, 一般会自动导入 所需要的包, 没有自动导入的话, 可以按照提示按 Alt + Enter组合按键手动导入
  4. 添加第一个路由,比如 /test, 返回任意一个对象
  5. 重新启动程序
  6. 如果在上面的依赖中没有添加
dependencies {
/// ... implementation(kotlin("reflect", "1.3.50")) /// ...}

的话, 一般会启动失败, 至于使用什么版本, 看具体情况,我自己选择的是当前最新的稳定版

至此一个完整的SpringBoot初始项目就创建完成了,

撒花✿✿ヽ(°▽°)ノ✿

转载地址:http://uyagj.baihongyu.com/

你可能感兴趣的文章
字节码文件(Class文件)
查看>>
java中的IO流(一)----概述
查看>>
StringBuilder
查看>>
集合,Collection
查看>>
泛型详解
查看>>
泛型实现斗地主
查看>>
List集合
查看>>
ArrayList集合,LinkedList集合,Vector集合
查看>>
HashSet集合
查看>>
并发与并行,线程与进程
查看>>
方法引用,通过对象名引用成员变量
查看>>
常用工具类 Math:数学计算 Random:生成伪随机数 SecureRandom:生成安全的随机数 2020-2-13
查看>>
Java的异常Exception 2020-2-13
查看>>
Java标准库定义的常用异常,自定义异常 2020-2-15
查看>>
Java问题百度/Google记录 2020-2-16
查看>>
【PADS9.5】9,对比ECO核心板,Router移动元件后布线消失,Router找不到自动布线策略文件丢失或损坏
查看>>
【STM32+w5500汇总】23,HTTP_Client 连接到ONENET上传了一段数据之后会断开,数据上传格式的设置
查看>>
【STM32+W5500+MQTT】24,所有功能都可以通过API函数的调用来实现;HTTP接入ONENET,API开发手册和打包函数,串口软件HTTP连接服务器上传数据,2018年12月28日
查看>>
【STM32+W5500+HTTPClient】25,路由器DHCP租赁IP时间为2h,NetBios可以很好的解决IP变化的问题,DNS,2018年12月25日
查看>>
【STM32CubeMX+FreeRTOS 】29,prtinf卡死;4任务只运行了3个;W5500联网失败(堆栈不能太大或者太小)
查看>>