SpringBoot使用介绍

2018-12-20 22:50:00
admin
原创 1741
摘要:SpringBoot使用介绍

一、SpringBoot使用简介

创建项目

https://start.spring.io


项目结构

1、Application.java建议放到根目录,主要用于做框架配置;
2、domain主要用于实体Entity与数据访问层DAO;
3、service主要是业务类代码;
4、controller负责页面访问控制;

5、commons负责一些工具类;


maven wapper:

1、用于自动下载maven,没有时自动下载maven,版本不对时下载指定版本maven;

2、.mvn,maven wapper的配置文件;

3、mvnw,maven wapper的linux脚本;

4、mvnw.cmd,maven wapper的windows脚本;

5、SpringBoot项目可以使用mvnw,或直接使用本机mvn;


增加web支持

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>


增加热部署支持

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>


不执行测试代码

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>

1、surefire用于单元测试,执行*Test.java代码;

2、failsafe用于集成测试,执行*IT.java代码;

3、skip同时禁止编译和运行,skip禁止编译貌似不生效,skipTests仅禁止运行测试代码


spring-boot插件目标:

mvn spring-boot:help

mvn spring-boot:run,启动spring-boot应用,和eclipse的run行为一样,不能再执行其它goal;

mvn spring-boot:start,启动spring-boot应用,和eclipse的run行为一样,可以再执行其它goal;

mvn spring-boot:stop


controller示例

@RestController
public class SampleController {
@RequestMapping("/hello")
public String index() {
return "Hello World";
}
}


测试用例示例

import org.junit.*;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.*;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.*;
import org.springframework.test.web.servlet.*;
import org.springframework.test.web.servlet.setup.*;
import org.springframework.test.web.servlet.request.*;
import org.springframework.test.web.servlet.result.*;

@RunWith(SpringRunner.class)
@SpringBootTest
public class SampleControllerTests {
private MockMvc mvc;

@Before
public void setUp() throws Exception {
mvc = MockMvcBuilders.standaloneSetup(new SampleController()).build();
}

@Test
public void getHello() throws Exception {
mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
}
}

发表评论
评论通过审核之后才会显示。