SpringBoot快速入门笔记

原创 2018年04月16日 00:42:10

咨询了老哥,做一个系统用哪些东西比较好,给我推荐了Spring Boot。说真的,以前知道有SpringSpringMVC,虽然还有一大堆东西,但是对Spring Boot还是略为陌生。所以,去搜了搜它的主要功能。总结网上所说,即最大的功能就是简化Spring应用的配置,让上手更容易。

使用Maven构建项目

  1. 使用http://start.spring.io/里面的SPRING INITIALIZR生成Maven项目。选择生成项目,会下载项目压缩包到本地。然后解压之。如下图:这里写图片描述
  2. 接下来比较关键吧,导了好几次,才导成功。感觉参考的教程上写得流程与当前最新版本的IDEA不太相符,在这里补充完整,给自己做个笔记。

    1)先打开IntelliJ IDEA的欢迎界面,选择Import Project
    这里写图片描述
    2)找到解压的目录,点击Open
    这里写图片描述
    3)选择以Maven模板打开,后续根据需要一路选择Next即可。
    这里写图片描述
    4)导入成功后如下所示:
    这里写图片描述
    通过上面步骤完成了基础项目的创建,如上图所示,Spring Boot的基础结构共三个文件(具体路径根据用户生成项目时填写的Group所有差异)。HelloController.java请忽略,这是我后面添加的:
    src/main/java下的程序入口:DdggApplication
    src/main/resources下的配置文件:application.properties
    src/test/下的测试入口:DdggApplicationTests
    生成的DdggApplicationDdggApplicationTests类都可以直接运行来启动当前创建的项目,由于目前该项目未配合任何数据访问或Web模块,程序会在加载完Spring之后结束运行

引入Web模块

当前的pom.xml内容如下,仅引入了两个模块,还不能跑Web应用:
这里写图片描述
spring-boot-starter:核心模块,包括自动配置支持、日志和YAML
spring-boot-starter-test:测试模块,包括JUnit、Hamcrest、Mockito

要跑Web应用需要引入spring-boot-starter-web

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

HelloWorld

src/main/java下创建HelloController.java

package cn.asahi.ddgg;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

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

启动程序,打开浏览器访问http://localhost:8080/hello

编写测试用例

修改src/test/下的DdggApplicationTests,最后如下所示:

package cn.asahi.ddgg;

import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;

import static org.hamcrest.Matchers.equalTo;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DdggApplicationTests {

    private MockMvc mvc;

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

    @Test
    public void contextLoads() throws Exception {
        mvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_JSON))
                .andExpect(status().isOk())
                .andExpect(content().string(equalTo("Hello Xorld")));
    }
}

@Test所注解的方法中,它模拟请求了前面的/hello页面的内容,并对其的内容与Hello Xorld做对比。但是它与/hello的内容不同。在该类中,点击右键:
这里写图片描述
选择运行该测试类,结果如下:
这里写图片描述
修改之成为Hello world,即设置期望的返回值为它,再与/hello的返回值做比较,期望与实际的一致,则运行正常,无错误提示。

测试的一种方式吧,对某个URL的内容,与所期望的内容做对比,这样就不需要在浏览器中打开,也不需要肉眼对比期望与实际的差别。

参考:http://blog.didispace.com/spring-boot-learning-1/

版权声明:本文为博主原创文章,转载请联系作者并注明出处 https://blog.csdn.net/asahinokawa/article/details/79955331

QT Creator快速入门--学习笔记一

一、QT5发布时需要用到的库文件: Qt5Core.dll Qt5Gui.dll Qt5Widgets.dll二、设置应用程序图标 1、创建.ico图标文件,并将文件复...
  • byw1988
  • byw1988
  • 2017年03月22日 14:13
  • 552

Spring Boot 系列(一)快速入门

简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置...
  • sinat_14982831
  • sinat_14982831
  • 2017年07月14日 17:50
  • 14838

Spring Boot 快速入门

今天给大家介绍一下Spring Boot MVC,让我们学习一下如何利用Spring Boot快速的搭建一个简单的web应用。 环境准备 一个称手的文本编辑器(例如Vim、Emacs、Su...
  • xiaoyu411502
  • xiaoyu411502
  • 2015年08月22日 21:59
  • 281735

Spring Boot 基础知识学习(一)——快速入门

SpringBoot 基础知识学习(一)——快速入门 一、背景介绍          今天是2016年11月15号,接触微服务大概一年多的时间,并且我们团队已经在去年使用微服务架构搭建我们数字化企业云...
  • qq_21387171
  • qq_21387171
  • 2016年12月16日 22:41
  • 3839

SpringBoot 学习笔记(一)

SpringBoot 学习笔记(一) 相关链接 官网 : http://projects.spring.io/spring-boot/ 文档:https://docs.spring.io/spr...
  • yuehenhn
  • yuehenhn
  • 2017年12月27日 17:37
  • 253

超详细的springBoot学习笔记

    Spring Boot        1. Spring Boot简介Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级...
  • m0_37106742
  • m0_37106742
  • 2018年02月27日 13:27
  • 687

【小甲鱼C++笔记】第一讲 Cplusplus语言与OO思想介绍

一、C++的特点 C:速度很快,精炼、简单、小巧 C++:代码量相对较大            优势:针对不同的对象去做实例化——OO思想(面对对象思想) 二、OO思想 面对对象的思想:任何事物都可以...
  • u013065733
  • u013065733
  • 2016年08月23日 14:53
  • 176

springboot快速入门

让我们学习一下如何利用Spring Boot快速的搭建一个简单的web应用。 环境准备 :  一个称手的IDE(Eclipse、Idea Intellij) Java环境(JDK 1.7或以上版...
  • a295277302
  • a295277302
  • 2017年05月04日 21:24
  • 166

SpringBoot快速入门

1、概述(1)定义Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义...
  • zhoutaochun
  • zhoutaochun
  • 2017年04月12日 11:19
  • 329

SpringBoot 快速入门

使用SpringBoot编写HelloWorld入门程序
  • myNameIssls
  • myNameIssls
  • 2017年01月19日 10:02
  • 1045
收藏助手
不良信息举报
您举报文章:SpringBoot快速入门笔记
举报原因:
原因补充:

(最多只允许输入30个字)