springBoot的快速入门

SpringBoot 快速入门(保姆级详细教程) SpringBoot快速入门,保姆级别超详细,解决IDEA创建SpringBoot项目一直转圈圈。 阅读详情

1)maven的配置分析

打开当前工程下的pom.xml 文件,看看生成项目的时候都引入那些依赖创建SpringBoot工程,内容如下:


<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.peter</groupId>
	<artifactId>spring_test</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>spring_test</name>
	<description>Demo project for Spring Boot</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>2.0.1.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

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

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

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

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

		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.29</version>
		</dependency>

	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>

	<profiles>
		<profile>
			<id>dev</id>
			<properties>
				<env>profiles/dev</env>
				<main-name></main-name>
			</properties>
		</profile>
		<profile>
			<id>pro</id>
			<properties>
			<env>profiles/pro</env>
			<main-name></main-name>
			</properties>
		</profile>
		<profile>
			<id>test</id>
			<properties>
			<env>profiles/test</env>
			<main-name></main-name>
			</properties>
		</profile>
	</profiles>

</project>

我们注意到Spring Boot打的是jar包:<packaging>jar</packaging> 正如我们说的Spring Boot的web打成的是一个jar包,不是war包,因为默认的web的依赖就会内嵌tomcat,这样就是我们使用jar包的时候就拥有web的服务能力。

父项目parent 配置指定为spring-boot-starter-parent 的2.0.1.RELEASE的版本,该父项目中定义了Spring Boot 版本的基础依赖以及一些默认配置内容,比如配置文件application.properties 的位置等。

在项目依赖dependencies 配置中,包含了下面两项。

Spring-boot-starter-web ; spring-boot-starter-test

这里所引用的web 和test模块,在spring Boot 生态中被称为Starter POMS 。Starter POMS是一系列轻便的依赖包,是一套一站式的spring的相关的技术解决方案。

 

2)实现RESTful API

在Spring Boot 中创建一个RESTful API 的实现代码同Spring MVC 应用一样,只是不需要像Spring MVC 那样先做很多的配置,而是向下面这样直接编写Controller 内容:

新建 package ,命名为 com.peter.controller

新建HelloController 类 ,内容如下所示。

 

package com.peter.controller;

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

/**
 * Created by Administrator on 2018/4/9.
 */
@RestController
@ResponseBody
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        return "hello world";
    }
}

通过 http://localhost:8080/hello 就可以看到hello word

3)编写单元测试

在Spring Boot 中实现单元测试同样非常的方便,下面我们打开src/test/下的测试入口 com.peter.SpringTestApplicationTests 类 ,编写一个简单的单元测试来模拟HTTP 请求,测试之前实现的/hello接口, 该接口返回hello word 字符串。

具体代码实现如下所示:

package com.peter;

import com.peter.controller.HelloController;
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.context.web.WebAppConfiguration;
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.core.IsEqual.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
@WebAppConfiguration
public class SpringTestApplicationTests {
	private MockMvc mvc;

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

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

	}
}

代码解析如下:

@RunWith(SpringRunner.class)  引入Spring 对JUnit4的支持

@WebAppConfiguration 开启Web 应用的配置,用于模拟ServletContext

@Before JUnit 中定义的测试用例@Test内容执行前预加载的内容,这里用来初始化对HelloController的模拟

MockMvc 对象 :用于模拟调用Controller的接口发起请求,在@Test 定义的hello测试用例中,perform 函数执行一次请求调用 ,accept 用于执行接收的数据类型,andExpect用于判断接口的期望值。

01.springboot快速入门 文章目录1. SpringBoot Quick Start1.1. springboot依赖1.2. 编写SpringBoot引导类1.3. 编写Controller1.4. 测试2. 快速入门解析2.1. 注解解析2.2. SpringBoot工程热部署2.3. 起步依赖分析2.3.1. 分析spring-boot-starter-parent2.3.2. 分析spring-boot-start... 阅读详情

相关推荐

Spring Boot(一):springboot简介 及 快速入门

SpringBoot简介 一、什么是 Spring Boot Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。用我的话来理解,就是 Spring Boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 Maven 整合了所有的 Jar 包,Spring Boot 整合了所有的框架。 二、SpringBoot可以做什么 最明显的特点是,让文

weixin_52841956的博客 1171

​Springboot快速入门

随便定义一个controller ,用于测试。controller层,这里值得提一嘴的就是@Controller和@RestController注解的区别。@Controller控制器,处理http请求。@RestController注解相当于@ResponseBody+@Controller合在一起的作用,RestController使用的效果是将方法返回的对象直接在浏览器上展示成json格式.

2301_76867680的博客 1263

Spring Boot快速入门指南(新手向)

SpringBoot入门 0.学习目标 了解SpringBoot的作用 了解Java配置的方式 了解Spring Boot自动配置原理 掌握Spring Boot的基本使用 了解Thmeleaf的基本使用 1.了解Spring Boot 在这一部分,我们主要了解以下3个问题: 什么是SpringBoot 为什么要学习SpringBoot SpringBoot的特点 1.1.什么是SpringBoot Spring Boot是Spring项目中的一个子工程,与我们之前所学习的Spring-framew

Tina优快云的博客 1478

springboot快速入门

springboot快速入门快速入门两种方式开发环境https://start.spring.io/构建使用maven构建 快速入门两种方式 1.访问官网https://start.spring.io/构建 2.使用maven构建 开发环境 jdk:jdk1.8.0_212 maven:apache-maven-3.6.2 springboot版本:2.2.0 https://start.sp...

write less , do more 1万+

SpringBoot快速入门

引言 现在是晚上的12点整,一个人学习到深夜无疑也是一种快乐啊。不过大量新知识的摄入,也着实让自己的头脑有点晕,趁着还没有睡意,赶紧来写一篇博客压压惊——SpringBoot的HelloWorld案例,通过这个案例对SpringBoot来一个快速入门。 SpringBoot简介 按照惯例,在学习SpringBoot之前,我们需要了解一下什么是SpringBoot? Spring Boot是由Piv...

。。。 2806

dpdk 源码分析 rte_ring

rte_ring源码分析

qq_40843445的博客 929

springboot快速入门一篇文章全

目录1、pom.xml2、项目层次3、启动文件【com.item/Action.java】4、controller文件5、启动测试(数据是跨域的) 2、项目层次 其中@RestController = @Controller + @ResponseBody; 5、启动测试(数据是跨域的) 访问路径:【http://127.0.0.1:8080/GetInfo】目录1、修改打包方式2、修改启动文件【Action.java】3、打包命令4、打包效果:在【pom.xml】文件中修改默认的打包方式

红目香薰 5万+

搞定8GB/s数据流:一个FPGA工程师的XDMA驱动调优实战(附避坑清单)

本文详细记录了FPGA工程师在XDMA驱动调优过程中实现8GB/s高带宽数据流的实战经验。通过优化DDR访问、中断响应、DMA映射等关键环节,解决了PCIE数据采集卡在高带宽场景下的性能瓶颈,并提供了实用的避坑清单和技术方案。

weixin_29194255的博客 203

SpringBoot详解——快速入门

久闻Spring Boot大名,这两天终于得空,学习了一把,发觉Spring Boot确实好用,那Spring Boot到底是什么,又是怎么好用呢?什么是Spring Boot。

weixin_68950210的博客 1484

vsomeip3 双机通信文件配置

验证环境 vsomeip地址Android运行命令,红色的地方需要和配置文件一样Linux运行命令,红色的地方需要和配置文件一样Linux service配置文件 ,红色的地方需要更改Android client配置文件,红色的地方需要更改,蓝色的地方可不要 ...

m0_37132481的博客 5222

centos-stream-9上安装nvidia驱动和cuda-toolkit

centos-stream-9上安装nvidia驱动和cuda-toolkit

qq_19072921的博客 3021

SpringBoot一天快速入门,超级肝货!【一】

目前springboot已经成为主流的框架技术,为了帮助小伙帮更快的掌握SpringBoot,我们搞了SpringBoot的快速入门。 所谓快速入门一定要快,不是三个月,也不是一个月,而是一天。 视频的效果更好,因此视频也安排了。 全部都进行了开源: SpringBoot一天快速入门 1.Spring Boot概述 Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能..

程序员springmeng 5918

从零开始做对容量规划:一文讲透 SAP Greenfield sizing 与 Quick Sizer 落地方法

摘要 SAP项目早期硬件规划面临业务细节缺失的挑战,Greenfield sizing方法通过Quick Sizer工具将业务需求转化为硬件资源需求。该方法聚焦主要负载驱动因素而非精确预测,采用标准化问卷形式输入并发用户数、业务处理量等参数,输出内存、CPU等资源需求。关键步骤包括选择正确的Quick Sizer版本、创建sizing项目、参考SAP基准测试和认证目录校准结果,最终将需求交由硬件厂商落地。该方法特别适用于缺乏历史数据的新系统部署,帮助在不确定性中建立可控的容量规划模型,避免资源浪费或性能不足

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 216

Spring Boot 快速入门

SpringBoot快速入门 1 打印hello world 导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/

呼啦呼啦嘞的博客 1467

Unity零基础到入门☀️| 万字教程 讲解Unity中的数据存储 PlayerPrefs、XML、JSON【建议收藏】

本文章是Unity零基础到入门专栏的系列文章。 适合对Unity3D引擎感兴趣的小伙伴学习,偏向于新手学习! 本篇文章就来介绍一下Unity中三种基本的数据存储方式:PlayerPrefs、XML、JSON

努力前行,总会成为自己心中的那道光 8万+

华为OD机考真题 新系统 - 数列求值(Java/Py/C/C++/Js/Go)

华为OD机试真题 新系统【数列求值】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【数列求值】多语言题解。

qq_45776114的博客 664

spring boot 入门_SpringBoot快速入门

一、Spring介绍1.1、SpringBoot简介在您第1次接触和学习Spring框架的时候,是否因为其繁杂的配置而退却了?在你第n次使用Spring框架的时候,是否觉得一堆反复黏贴的配置有一些厌烦?那么您就不妨来试试使用Spring Boot来让你更易上手,更简单快捷地构建Spring应用!Spring Boot让我们的Spring应用变的更轻量化。比如:你可以仅仅依靠一个Java类来运行一个...

weixin_39890431的博客 81

DA14531-蓝牙温度传感器-真实案例

传感器低功耗系统功能需求: 1)平时为关机状态,通过GPIO管脚唤醒,霍尔器件触发拉低IO唤醒系统。 2)唤醒后,进入BLE广播状态,等待主机连接,若一分钟无被主机连接,则进入关机状态。 3)连接后(0.1mA),每秒上报一次温度值,同时主机可以读取设备读电池电量。 4)连接断开后,1分钟后,设备进入关机(1uA)。 5)LED灯在连接时点亮,断开灭,低电量时会闪,提示闪烁。

hejinwu1314的博客 856

SpringBoot集成MyBatis-Plus快速入门Demo

MyBatis-Plus(简称 MP)是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。

mickey2007的博客 2884

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【SpringBoot】SpringBoot概述,快速入门

【SpringBoot】SpringBoot概述,快速入门1. Spring优缺点分析2. SpringBoot概述2.1 SpringBoot的特点2.2 SpringBoot的核心功能3. SpringBoot快速入门 1. Spring优缺点分析 优点 Spring是Java企业版(Java Enterprise Edition,JEE,也称J2EE)的轻量级代替品。无需开发重量级的Enterprise JavaBean(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖

来日浅谈的博客 571

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Springboot快速入门

Springboot快速入门

汪程序员 264

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

上一篇: 初识SpringCould的框架
下一篇: Redis数据库五大数据类型
@夫子慧
博客等级 码龄9年 9粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值