一、首先,创建初始化项目文件 gradle-spring-boot-project:
二、进入项目文件,初始化(在git里面执行):
gradle init --type java-application
三、Spring提供了一个独立的Spring Boot Gradle插件,它增加了一些任务和配置,以简化基于Spring Boot的项目的工作。首先,我们需要应用插件。为此,打开build.gradle文件并调整plugin块
build.gradle
plugins {
id 'java'
id 'com.gradle.build-scan' version '2.0.2'
id 'org.springframework.boot' version '2.0.5.RELEASE'
id 'io.spring.dependency-management' version '1.0.7.RELEASE'}
之后重建dependencies
dependencies {
implementation 'org.springframework.boot:spring-boot-dependencies:2.0.5.RELEASE'
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
components {
withModule('org.springframework:spring-beans') {
allVariants {
withDependencyConstraints {
// Need to patch constraints because snakeyaml is an optional dependency
it.findAll { it.name == 'snakeyaml' }.each { it.version { strictly '1.19' } }
}
}
}
}}
【注】:
如果在5.0之前使用Gradle版本,我们需要通过settings.gradle将以下行添加到项目根目录中的文件来启用此功能:
settings.gradle
enableFeaturePreview('IMPROVED_POM_SUPPORT')
四、创建hello gradle 示例
创建src/main/java/hello和src/test/java/hello目录,将相应的类移动到文件夹。
接下来调整App位于src/main/java/hello文件夹中的类,并使用以下内容替换其内容:
App.java
package hello;
import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplicationpublic class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
HelloGradleController.java
package hello;
import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;
@RestController("/")public class HelloGradleController {
@GetMapping
public String helloGradle() {
return "Hello Gradle!";
}
}
整AppTest位于src/test/java/hello文件夹中的类,并使用以下内容替换其内容:
AppTest.java
package hello;
import org.junit.Test;import org.junit.runner.RunWith;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.test.context.junit4.SpringRunner;import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringRunner.class)@SpringBootTest(classes = App.class)@AutoConfigureMockMvcpublic class AppTest {
@Autowired
private MockMvc mvc;
@Test
public void helloGradle() throws Exception {
mvc.perform(get("/"))
.andExpect(status().isOk())
.andExpect(content().string("Hello Gradle!"));
}
}
五、最后一步,我们需要定义Spring Boot jar文件的主类名。为此,我们需要mainClassName在bootJar配置闭包上定义属性。将以下代码段添加到您的代码中build.gradle,然后我们就可以运行Spring Boot应用程序了。
build.gradle
bootJar {
mainClassName = 'hello.App'}
六、要构建可执行jar,您可以执行以下命令:
./gradlew bootJar
Error:我的出错,原因是49行多余,删掉之后继续
七、运行应用程序的另一种方法是执行以下Gradle命令:
./gradlew bootRun
八、打开浏览器,输入http:// localhost:8080,应该会Hello Gradle!在浏览器窗口中看到该消息
验证成功!