SpringBoot使用介绍
- 2018-12-20 22:50:00
- admin
- 原创 1741
一、SpringBoot使用简介
创建项目:
项目结构:
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();
}
}