一、Idea构建项目
- 1、创建一个新项目
- 2、选择Spring Initializr,Next也会出现上述类似的配置界面,Idea帮我们做了集成
- 3、填写相关内容后,点击Next选择需要的依赖模块包也可暂时直接跳过,Finish。
- 4、至此一个简单的SpringBoot项目就已经搭建完成启动Application main 方法即可
2、项目结构介绍
- 1、SpringBoot建议的目录结构如下:
- pom.xml文件中默认有两个模块
1)spring-boot-starter:核心模块,包括自动配置支持、日志和YAML,如果引入了spring-boot-starter-web
Web模块可以去掉此配置,因为spring-boot-starter-web
自动依赖了spring-boot-starter
2)spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito。
三、如何引入Web模块开发
1、引入Web模块
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
2、编写Controller内容
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
}
@RestController
的意思就是 Controller 里面的方法都以 json 格式输出,不用再写什么 jackjson 配置的了!
3、启动主程序,打开浏览器访问 http://localhost:8080/hello,就可以看到效果了
四、如何进行单元测试
打开的src/test/
下的测试入口,编写简单的 http 请求来测试;使用 mockmvc
进行,利用MockMvcResultHandlers.print()
打印出执行结果
package com.example.springboot_demo;
import com.example.springboot_demo.controller.HelloWorldController;
import org.junit.Before;
import org.junit.Test;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
public class HelloTests {
private MockMvc mvc;
@Before
public void setUp(){
mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
}
@Test
public void getHello() throws Exception{
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk())
.andExpect(content().string(equalTo("Hello World")));
}
}