springboot demo快速开始
Posted flgb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot demo快速开始相关的知识,希望对你有一定的参考价值。
快速入门
maven构建项目
-
1、访问http://start.spring.io/
-
2、选择构建工具Maven Project、Spring Boot版本2.26以及一些工程基本信息,点击“Switch to the full version.”java版本选择1.8,可参考下图所示:
-
3、点击Generate下载项目压缩包
-
4、解压后,使用STS,Import -> Existing Maven Projects -> Next ->选择解压后的文件夹-> Finsh,OK done!
如上图所示,Spring Boot的基础结构共三个文件:
-
src/main/java 程序开发以及主程序入口
-
src/main/resources 配置文件
-
src/test/java 测试程序
另外,spingboot建议的目录结果如下
引入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内容:
package com.lf.springboot_quickstart.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorldController { @RequestMapping("/hello") public String hello(){ return "hello springboot!"; } }
@RestController
的意思就是controller里面的方法都以json格式输出,不用再写什么jackjson配置的了!
3、启动主程序,打开浏览器访问http://localhost:8080/hello,就可以看到效果了,有木有很简单!
如何做单元测试
打开的src/test/下的测试入口,编写简单的http请求来测试;使用mockmvc进行,利用MockMvcResultHandlers.print()打印出执行结果。
@RunWith(SpringRunner.class) @SpringBootTest(classes = SpringbootQuickstartApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class HelloWorldControllerTest { private MockMvc mockMvc; @Before public void setUp() { this.mockMvc = MockMvcBuilders.standaloneSetup(new HelloWorldController()).build(); } @Test public void getHello() throws Exception { ResultActions resultActions = mockMvc .perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON)); resultActions.andExpect(MockMvcResultMatchers.status().isOk()).andDo(MockMvcResultHandlers.print()).andReturn(); } }
关于MockMvc详解请参考下面链接的文章 :
https://blog.csdn.net/zai_xia/article/details/83419104
以上是关于springboot demo快速开始的主要内容,如果未能解决你的问题,请参考以下文章