Spring Boot 学习(一) 快速搭建SpringBoot 项目
2017-12-21 11:19
966 查看
快速搭建一个 Spring Boot 项目
部分参考于《深入实践Spring Boot》、《Spring实战 第四版》与程序猿DD的有关博客。Spring Boot 优点
轻量化提供 Spring 框架各种默认配置来简化项目配置
内嵌 Web 容器
没有冗余代码生成和XML配置要求
Maven 导包
spring-boot-starter:核心模块,包括了自动配置支持、日志和YAML
spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito
spring-boot-starter-web:Web模块
开工
一个 Spring Boot 案例应该包括四个部分(主加载类、逻辑实现类、单元测试类、以及资源配置文件)。1. 资源配置文件:这个文件主要记录了框架下各种设置;前面,我们提到过 Spring Boot 提供 Spring 的默认设置,所以一开始并不需要对这个文件做任何修改,让框架内嵌的Web容器加载该文件即可。* 注意:命名为
application.properties*,并且默认端口为8080。
2. 主加载类:Spring Boot 框架下,最重要的一个类,也是启动整个框架的入口。一般有两种代码模板,好像也没有什么区别。这里先写一种:
@SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
3. 逻辑实现类:就是我们提供的服务接口,一般就是我们的Controller层。这里实现一个简单的”hello world!”的Controller,便于测试。
启动项目后,访问 http://localhost:8080/hello 来访问这个控制器。
@RestController public class HelloController { @RequestMapping("/hello") public String index(){ return "hello world!"; } }
4. 单元测试类:顾名思义,就是一个用来测试我们的逻辑实现类的类。
这里使用 JUnit 模拟一个 http 请求来测试我们的 HelloController。
同时,这里涉及到
Spring AOP的
@Before,有兴趣的也可以去查看一下。
@RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = MockServletContext.class) @WebAppConfiguration //测试环境使用,用来表示测试环境使用的ApplicationContext将是WebApplicationContext类型的 public class ApplicationTest { private MockMvc mvc; @Before public void setUp() throws Exception{ //通过MockMvcBuilders.xxxSetup().build()创建一个MockMvc进行测试; mvc = MockMvcBuilders.standaloneSetup(new HelloController()).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!"))) .andDo(MockMvcResultHandlers.print()) .andReturn(); } /** * 1、mockMvc.perform执行一个请求。 * 2、MockMvcRequestBuilders.get("XXX")构造一个请求。 * 3、ResultActions.andExpect添加执行完成后的断言。 * 4、ResultActions.andDo添加一个结果处理器,表示要对结果做点什么事情 * 比如此处使用MockMvcResultHandlers.print()输出整个响应结果信息。 * 5、ResultActions.andReturn表示执行完成后返回相应的结果。 */ }
最后附上, http 请求响应后的报文。
MockHttpServletRequest: HTTP Method = GET Request URI = /hello Parameters = {} Headers = {Accept=[application/json]} Handler: Type = qg.fangrui.boot.web.HelloController Method = public java.lang.String qg.fangrui.boot.web.HelloController.index() Async: Async started = false Async result = null Resolved Exception: Type = null ModelAndView: View name = null View = null Model = null FlashMap: Attributes = null MockHttpServletResponse: Status = 200 Error message = null Headers = {Content-Type=[application/json;charset=ISO-8859-1], Content-Length=[12]} Content type = application/json;charset=ISO-8859-1 Body = hello world! Forwarded URL = null Redirected URL = null Cookies = []
参考文章:
http://blog.csdn.net/u011244202/article/details/54604421
相关文章推荐
- Spring Boot 学习(一) 快速搭建SpringBoot 项目
- Spring Boot学习一:Spring Boot的快速搭建
- SpringBoot学习:IDEA中快速搭建springboot项目
- springboot (1) 快速搭建简单项目
- SpringBoot(一):快速搭建一个springboot项目
- 构建微服务:快速搭建Spring Boot项目
- 【Spring Boot教程】快速搭建spring boot项目工程
- SpringBoot学习笔记-基础项目搭建
- springboot学习: 初识Spring Boot框架,搭建第一个项目!
- 基于Maven的Springboot项目搭建学习笔记
- spring boot框架学习1-认识spring boot和快速入门
- 教你十分钟快速搭建springBoot项目实战
- springboot入门,简单能跑的项目快速搭建
- 快速搭建一个restful风格的springboot项目
- 004-Spring boot 快速入门-项目搭建与启动、SpringBootApplication
- 快速搭建一个简单的springboot项目
- Spring Boot(二):快速搭建web项目或微服务
- Spring Boot 项目快速搭建
- start.spring.io快速搭建springboot项目页面解析介绍