一、开发环境
1)JDK8+
2)Gradle 4+
3)IDEA(环境装好后配置)
三、使用 Spring Initializr 项目初始化WEB项目:https://start.spring.io
==== 解开
.gitignore 定义上传git时忽略与开发工具IDE相关的配置文件
> gradle build
1)拷贝文件夹 initializr-start 为 hello-world
2)只保留两文件夹gradle、src和四文件.gitignore、build.gradle、gradlew、gradlew.bat,其它的统统删掉
(后续简称gradle、src、.gitignore、build.gradle、gradlew、gradlew.bat为:两夹四件)
3)修改build.gradle中version = '1.0.0'
4)导入项目到IDEA
5)增加controller文件夹,编写控制器HelloController
@RestController
public class HelloController {
//@RequestMapping("/hello")
@GetMapping("/hello")
public String hello(){
return "Hello World!";
}
}
6)编写测试用例HelloControllerTest
@SpringBootTest
@AutoConfigureMockMvc
public class HelloControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testHello() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("Hello World!")));
}
}
7)运行测试用例
==== 三种应用运行方式
命令行窗口进入到项目根目录下:gradle build
$ cd build/libs
$ java -jar hello-world-1.0.0.jar
测试访问:http://localhost:8080/hello
1)JDK8+
2)Gradle 4+
3)IDEA(环境装好后配置)
二、配置环境
GRADLE_HOME D:\Program Files\gradle-4.5
JAVA_HOME D:\Program Files\Java\jdk1.8.0_92
PATH %GRADLE_HOME%\bin;%JAVA_HOME%\bin
CLASSPATH .
检查配置
三、使用 Spring Initializr 项目初始化WEB项目:https://start.spring.io
==== 解开
.gitignore 定义上传git时忽略与开发工具IDE相关的配置文件
build.gradle gradle项目的配置文件,如下:(已添加注释,和部分修改)
// buildscript 代码块中脚本优先执行
buildscript {
// ext 用于定义动态属性
ext {
springBootVersion = '2.0.0.M4'
}
// 使用了Maven的中央仓库及Spring自己的仓库(也可以指定其他仓库)
repositories {
// mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
}
// 依赖关系
dependencies {
// classpath 声明了在执行其余的脚本时,ClassLoader 可以使用这些依赖项
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
// 使用插件
apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
// 指定了生成的编译文件的版本,默认是打成了 jar 包
group = 'com.waylau.spring.cloud'
version = '1.0.0'
// 指定编译 .java 文件的 JDK 版本
sourceCompatibility = 1.8
// 使用了Maven的中央仓库及Spring自己的仓库(也可以指定其他仓库)
repositories {
//mavenCentral()
maven { url "https://repo.spring.io/snapshot" }
maven { url "https://repo.spring.io/milestone" }
maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }
}
// 依赖关系,配置的核心部分
dependencies {
// 该依赖用于编译阶段
compile('org.springframework.boot:spring-boot-starter-web')
// 该依赖用于测试阶段
testCompile('org.springframework.boot:spring-boot-starter-test')
}
1)注释掉中央仓库,添加国内阿里的仓库
2)调整版本springBootVersion = '2.0.0.M4'(有些较高的版本ali的仓库可能还没有同步更新)
> gradle build
编译通过,则进入下一步
1)拷贝文件夹 initializr-start 为 hello-world
2)只保留两文件夹gradle、src和四文件.gitignore、build.gradle、gradlew、gradlew.bat,其它的统统删掉
(后续简称gradle、src、.gitignore、build.gradle、gradlew、gradlew.bat为:两夹四件)
3)修改build.gradle中version = '1.0.0'
4)导入项目到IDEA
5)增加controller文件夹,编写控制器HelloController
@RestController
public class HelloController {
//@RequestMapping("/hello")
@GetMapping("/hello")
public String hello(){
return "Hello World!";
}
}
6)编写测试用例HelloControllerTest
光标定位到HelloController,alt+enter,提示窗内选在CreateTest
@SpringBootTest
@AutoConfigureMockMvc
public class HelloControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void testHello() throws Exception {
mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("Hello World!")));
}
}
7)运行测试用例
==== 三种应用运行方式
1)IDE里面右键项目(Run 'Application.main()' Ctrl+Shift+F10)
测试访问:http://localhost:8080/hello
2)java -jar xxx.jar命令行窗口进入到项目根目录下:gradle build
$ cd build/libs
$ java -jar hello-world-1.0.0.jar
测试访问:http://localhost:8080/hello
3)gradle bootRun
命令行窗口进入到项目根目录下:gradle bootRun测试访问:http://localhost:8080/hello