Spring Boot 学习(一) 快速搭建SpringBoot 项目
快速搭建一个 Spring Boot 项目
部分参考于《深入实践Spring Boot》、《Spring实战 第四版》与程序猿DD的有关博客。
参考(嘟嘟独立博客):http://tengj.top/2017/02/26/springboot1/
搭建项目:
创建Spring Boot操作步骤如下:
1.在File菜单里面选择 New > Project,然后选择Spring Initializr,接着如下图一步步操作即可。
项目结构
根据上面的操作已经初始化了一个Spring Boot的框架了,项目结构如下:
如你所见,项目里面基本没有代码,除了几个空目录外,还包含如下几样东西。
- pom.xml:Maven构建说明文件。
- Chapter1Application.java:一个带有main()方法的类,用于启动应用程序(关键)。
- Chapter1ApplicationTests.java:一个空的Junit测试类,它加载了一个使用Spring Boot字典配置功能的Spring应用程序上下文。
- application.properties:一个空的properties文件,你可以根据需要添加配置属性。
------------------------------------------------------------------------------------------分割线------------------------------------------------------------------------------------------------------------------
Spring Boot 优点
- 轻量化
- 提供 Spring 框架各种默认配置来简化项目配置
- 内嵌 Web 容器
- 没有冗余代码生成和XML配置要求
Maven 导包
spring-boot-starter
:核心模块,包括了自动配置支持、日志和YAMLspring-boot-starter-test
:测试模块,包括JUnit、Hamcrest、Mockitospring-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;@Beforepublic void setUp() throws Exception{//通过MockMvcBuilders.xxxSetup().build()创建一个MockMvc进行测试;mvc = MockMvcBuilders.standaloneSetup(new HelloController()).build();}@Testpublic 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 = GETRequest URI = /helloParameters = {}Headers = {Accept=[application/json]}Handler:Type = qg.fangrui.boot.web.HelloControllerMethod = public java.lang.String qg.fangrui.boot.web.HelloController.index()Async:Async started = falseAsync result = nullResolved Exception:Type = nullModelAndView:View name = nullView = nullModel = nullFlashMap:Attributes = nullMockHttpServletResponse:Status = 200Error message = nullHeaders = {Content-Type=[application/json;charset=ISO-8859-1], Content-Length=[12]}Content type = application/json;charset=ISO-8859-1Body = hello world!Forwarded URL = nullRedirected URL = nullCookies = []
转载于:https://www.cnblogs.com/MaxElephant/p/8108224.html
Spring Boot 学习(一) 快速搭建SpringBoot 项目相关推荐
- spring boot / cloud (十七) 快速搭建注册中心和配置中心
spring boot / cloud (十七) 快速搭建注册中心和配置中心 本文将使用spring cloud的eureka和config server来搭建. 然后搭建的模式,有很多种,本文主要聊 ...
- 快速搭建Springboot项目的两种方式!!
大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 Springboot的特点就是简单.快速和方便,使用idea不到一分钟就可以快速搭建springboot项目,并且,在这里,你不用写spr ...
- 一步一步教你在IEDA中快速搭建SpringBoot项目
场景 IEDA 2017 现在要在IDEA中搭建SpringBoot项目快速输出HelloWorld. 实现 打开IEDA,点击File--new--project 选择左边的Spring Initi ...
- SpringBoot学习:在Interillj Idea上快速搭建SpringBoot项目
一.创建SpringBoot项目 二.导入Jar包(pom.xml) 1 <?xml version="1.0" encoding="UTF-8"?> ...
- idea快速搭建springboot项目
Spring Boot是由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建以及开发过程.它主要推崇的是'消灭配置',实现零配置. 那么,如何在idea中创建一个spri ...
- 教你十分钟快速搭建springBoot项目实战
为什么80%的码农都做不了架构师?>>> 首先申明,本文并没有原理性的东西(请自行百度),适合于刚接触springBoot并有一定javaweb开发基础的人群,大神和小白请出门 ...
- IDEA 快速搭建SpringBoot项目 提供GitHub源码地址
一.环境: IDEA+SpringBoot+MySql+MyBatis+Thymeleaf GitHub源码地址: https://github.com/516516/springboottestde ...
- SpringBoot————快速搭建springboot项目
完成项目的创建信息 浏览器打开SPRING INITIALIZR网址: http://start.spring.io/ 如下图所示完成配置: 1.完成基础项目配置 2.相关名称 3.依赖jar包,如 ...
- Spring Boot学习笔记-实践建言
2019独角兽企业重金招聘Python工程师标准>>> 本文延续<Spring Boot学习笔记-快速示例>,从开发指南中摘出一些实践经验可供参考.这也是笔者看到的眼前一 ...
最新文章
- python画指数函数图像_解决python中的幂函数、指数函数问题
- java循环object_java怎么循环获取object的属性名和值?object内容如下
- 听说你想去大厂看学姐,带你看看拼多多运营面经
- nyoj 1216 整理图书(dp)
- React Native For Android 架构初探
- 07- HTTP协议详解及Fiddler抓包
- 今日头条关键词文章热度和搜索指数的查询方法分享
- linux音乐服务器mpd,Arch Linux下使用Mpd+Mpc
- 实验2014052801:动态网页中的动态思想
- android修改文件名,android 修改文件名称
- centos7 安装7z压缩命令
- 北京队“接触风波”受罚背后:CBA职业化不断进步
- JavaScript高级程序设计(第4版)学习随笔【第六章】
- iOS动画——文字晃动
- Android面试题收集(有详细答案)
- rtux64w10.sys导致DRIVER_IRQL_NOT_LESS_OR_EQUAL蓝屏的解决方法
- 二十七、非谓语动词_作表语
- Netscape 发明了 JavaScript
- 【Python零基础入门篇 · 3】:掌握数值类型、进制的转换、字符串、占位符和格式化输入输出、标识符和保留字
- 数字化转型推进现代化智慧城市治理