寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目
写在前面
现在已经是八月份了,我已经荒废了半年居多,不得不说谈恋爱确实是个麻烦的事,谈好了皆大欢喜,分手了就是萎靡不振,需要很长一段时间才能缓过来。
人还是要有梦想的,至于实现只不过是一个契机,但凡不懒,你都可能是下一个被命运眷顾的幸运儿(仅限技术,追妹纸另当别论)。
一直以来就有个心愿,想使用前后端分离技术,写一个Web系统,主要技术栈Spring Boot+ Vue3 ,想一想就很兴奋那种,很久没有这种感觉了。
话不多说,开始更文了。
创建Spring Boot项目
单击
File -> New -> Project… 命令,弹出新建项目框。选择
Spring Initializr选项,单击Next按钮,Idea 很强大已经帮我们做了集成。

选择
Web,这里我选择的版本是2.4.0,如果无法选中,到时候在pom文件中自行修改即可,单击Next按钮,最后确定信息无误单击Finish按钮。

删除无用的文件
.mvn、 mvnw、 mvnw.cmd

项目结构
- src/main/java:程序开发以及主程序入口
- src/main/resources:配置文件
- src/test/java:测试程序
简单接口编写
按照国际惯例,先整一个Hello World吧。
首先创建一个名为HelloController的类,示例代码如下:
package com.rongrong.wiki.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
*
* @description
* @version 1.0
* @author longrong.lang
*
*/
@RestController
public class HelloController {
@RequestMapping(method= RequestMethod.GET,value = "/hello")
public String sayHello(){
return "hello,Spring Boot!";
}
}
启动主程序
打开浏览器访问 http://localhost:8080/hello,就可以看到以下内容:
hello,Spring Boot!
单元测试
我们使用Spring Boot中自带的MockMvc进行测试,不了解的同学可以自己百度查询学习,如果对PowerMock或者其他单元测试框架Mock比较书的同学上手会很快。
在测试程序中,创建一个名为HelloControllerTest的测试类,示例代码如下:
package com.rongrong.wiki.test;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.equalTo;
/**
* @author longrong.lang
* @version 1.0
* @description
*/
@AutoConfigureMockMvc
@SpringBootTest
public class HelloControllerTest {
@Autowired
MockMvc mockMvc;
@Test
@DisplayName("测试返回字符串")
public void testHello() throws Exception {
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.get("/hello").accept(MediaType.APPLICATION_FORM_URLENCODED)).andReturn();
String content = mvcResult.getResponse().getContentAsString();
assertThat(content,equalTo("hello,Spring Boot!"));
}
}
说明:
@Autowired这个注解应该很熟悉吧,个人感觉这里采用的是Spring Mvc的思路,比如自动导入Bean。- 关于
Mock部分参考单元测试框架Mock去学习即可
运行结果

最后
到此,使用 Spring Boot 快速搭建项目完成,如果觉得对您有帮助,请关注,点赞,并转发。
聪明的人都去瞧瞧努力了,你还在犹豫什么呢?行动起来,来一起入坑!
寻找写代码感觉(一)之使用 Spring Boot 快速搭建项目的更多相关文章
- spring boot+mybatis搭建项目
一.创建spring boot项目 1.File->New->Project 2.选择 Spring Initializr ,然后选择默认的 url 点击[Next]: 3.修改项目信息 ...
- 寻找写代码感觉(二)之 Spring Boot 项目属性配置
一.前言 写代码就和恋爱一样,有反馈就要趁热打铁,搞完了项目搭建,接下来就来搞搞项目配置. 二.IDEA设置 1.编码配置 这里所说的就是代码的编码格式,你可以不设置,但是可能要面临的是,很多未知的麻 ...
- 寻找写代码感觉(三)之使用 Spring Boot 编写接口
一.前言 项目配置完之后,接着就是写接口了,那咱们就开始吧. 二.项目配置补充知识点 上篇文章写的是关于项目属性配置的一些知识,这里针对上次遗忘内容进行补充如下: 2.1.获取配置文件的值 在appl ...
- 寻找写代码感觉(八)之SpringBoot过滤器的使用
一.什么是过滤器? 过滤器是对数据进行过滤,预处理过程,当我们访问网站时,有时候会发布一些敏感信息,发完以后有的会用*替代,还有就是登陆权限控制等,一个资源,没有经过授权,肯定是不能让用户随便访问的, ...
- Spring Boot快速搭建Web工程
先想一下,正常我们想要创建一个web服务,首先需要下载tomcat,创建web工程,配置各种web.xml,引入spring的配置,各种配置文件一顿倒腾.....下载有了spring boot,你创建 ...
- Spring Boot快速搭建Spring框架
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development a ...
- Spring Boot 快速搭建的三种方式
方式一:http://start.spring.io/ 打开浏览器,在地址栏中输入http://start.spring.io/ 如下图: 点击generate project 然后就会有一个zip ...
- 寻找写代码感觉(十六)之 集成Validation做参数校验
写在前面 今天是大年初五了... 不知不觉,又要上班了,美好的假期只剩一天了,有点不舍呢! 也不知道为什么,总感觉像在做梦一样,像没睡醒一样,并不是因为眼睛小,更多应该是自寻烦恼,想得多罢了. 参数校 ...
- 寻找写代码感觉(五)之Mybatis官方代码生成器的使用
一.Mybatis Generator生成器 见名知意,官方给出的代码生成器.好处就是不用自己写实体类.接口.xml文件了,应对简单增删改查是可以的.复杂的还是需要自己手写sql的. 二.Mybati ...
随机推荐
- 15 shell for循环
除了 while 循环和 until 循环,Shell 脚本中还有for 循环,for 循环有两种使用形式:C语言风格的for循环与Python语言风格的for in循环,两种形式的for循环用法对比 ...
- Linux中grep和egrep命令详解
rep / egrep 语法: grep [-cinvABC] 'word' filename -c :打印符合要求的行数-i :忽略大小写-n :在输出符合要求的行的同时连同行号一起输出-v ...
- 保存TextBox中的文字为Path功能
保存TextBox中的文字为Path功能 今天再设计一个我自己程序的Icon时使用了Path+textbox做了图形,我不想导出为PNG,因为颜色比较单一,我又想通过代码控制颜色,所以我想完整的保存为 ...
- Spring 的循环依赖问题
什么是循环依赖 什么是循环依赖呢?可以把它拆分成循环和依赖两个部分来看,循环是指计算机领域中的循环,执行流程形成闭合回路:依赖就是完成这个动作的前提准备条件,和我们平常说的依赖大体上含义一致.放到 S ...
- HCNA Routing&Switching之动态路由协议OSPF建立邻居的条件
前文我们了解了OSPF的router id.数据包结构.类型.不同类型的数据包作用以及OSPF状态机制,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15027 ...
- 个人博客开发之blog-api 项目全局日志拦截记录
前言 大型完善项目中肯定是需要一个全局日志拦截,记录每次接口访问相关信息,包括: 访问ip,访问设备,请求参数,响应结果,响应时间,开始请求时间,访问接口描述,访问的用户,接口地址,请求类型,便于项目 ...
- gpasswd简单记录
gpasswd [option] GROUP 一切都是为了权限 gpasswd常用参数: -a, --add USER 将user用户加入到组中 -d, --delete USER 将user用户 ...
- 得力e+考勤机更新网络连接
1.进入APP,"企业信息"最下面"设备" 2.显示对应的设备的在线或离线 3.点击 >>>,点击"离线",连接蓝牙(手机 ...
- python 读注册表 检测NET版本
from winreg import * import re def subRegKey(key, pattern, patchlist): # 个数 count = QueryInfoKey(key ...
- [刘阳Java]_Spring相关配置介绍_第5讲
这一节我们介绍一下Spring框架的相关常用配置 Spring依赖注入的两种方式(构造方法注入和setter方式注入) p-namespace方式配置 properties属性文件配置方式 集合对象配 ...