1、maven构建项目
访问网站http://start.spring.io/,选择构建maven工程和SpringBoot版本号,点击“Switch back to the simple version.”选择jdk版本(当前最低只能用jdk8)
点击"Generate Project"或按键盘alt+enter下载初始化的项目文件
eclipse导入下载并解压好的maven工程
2、项目结构
SpringBoot的框架基础结构
src/main/java 程序开发以及主程序入口
src/main/resources 配置文件
src/test/java 测试程序
root package的结构:com.xxx.xxx
1、Application.java 建议放到跟目录下面,主要用于做一些框架配置
2、domain目录主要用于实体(Entity)与数据访问层(Repository)
3、service 层主要是业务类代码
4、controller 负责页面访问控制
3、引入web模块
1、pom.xml增加web支持
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
pom.xml默认有两个模块
spring-boot-starter:核心模块,包括自动配置支持、日志和YAML;
spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito。
2、编写controller内容
@RestController
public class HelloWorldController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
}
@RestController的意思就是controller里面的方法都以json格式输出
3、启动主程序
访问"localhost:8080/hello"即可看到效果
4、单元测试
打开src/test的测试入口,变现简单的http请求来测试,使用mockmvc进行,利用MockMvcResultHandlers.print()打印执行结果。
@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloWorldControlerTests {
private MockMvc mvc;
@Before
public void setUp() throws Exception {
mvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build();
}
@Test
public void getHello() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
}
}
5、开发环境调试
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
</plugins>
</build>
该模块在打包运行时会被禁用,使用java -jar启动或者使用特定的classLoad启动会被认为是生产环境