当前位置: 首页 > news >正文

SpringBoot搭建SpringMVC项目

前言

据我的了解,现在不管是大公司或是小公司,如果使用java开发一个web项目,大部分都会选择使用SpringBoot,关于Springboot的好处,就不在这里过多赘述,总之Springboot有一套完整的生态,从项目构建、开发、部署都有非常简单易用的实现方案,这篇文章主要内容是如何使用IntelliJ IDEA IDEA快速初始化SpringMVC项目以及MVC项目开发中常见的四种http请求方式如何实现

使用IntelliJ IDEA IDEA初始化项目

如果是使用IntelliJ IDEA作为开发工具,那么使用Springboot初始化一个SpringMVC项目是非常简单的。

1、点击idea的Create New Project,进入WEB项目的初始化界面,使用Spring Initializr开始初始化的配置操作;

2、项目基本信息的配置,这里使用maven来构建并管理依赖,开发语言为java,打包方式为jar,jdk的版本为1.8,其他的版本号、项目名称、项目描述等见图;然后进入一下步;

3、使用SpringBoot构建SpringMVC项目,勾选中Spring Web,SpringMVC的相关依赖就可以在项目初始化完成的时候直接完成,如果还需要其他的依赖,如mysql、jdbc、mybatis,也可以在这步直接选好,或者在项目完成时,逐个在pom.xml中配置;然后继续进行下一步,直到项目初始化完成,

4、项目初始化完成的结构是这样的

HTTP的四种请求方式

HTTP常见的请求方式有四种,分别是get请求、post请求、put请求、delete请求。在使用SpringBoot构建的SpringMVC程序中,分别可以使用@GetMapping、@PostMapping、@PutMapping、@DeleteMapping注解来实现不同请求方式的接口。

GET请求

get请求通常用于发送一个请求来取得服务器上的某一资源,当 @GetMapping注解标记该方法时,表示该方法可以接收到http请求方式为get;

@RestController
@RequestMapping("/example")
public class ExampleController {@GetMapping("/get")public String get(String name){String msg="hello , "+name+" , this is a get request";return msg;}
}

POST请求

post请求主要用于向URL指定的资源提交数据或附加新的数据,当 @PostMapping注解标记该方法时,表示该方法可以接收到http请求方式为post;

@RestController
@RequestMapping("/example")
public class ExampleController {@PostMapping("/post")public String post(String name){String msg="hello , "+name+" , this is a post request";return msg;}
}

PUT请求

put方法跟post方法很像,也是向服务器提交数据,但是put 方法指向了资源在服务器上的位置,而post 方法没有,当 @PutMapping注解标记该方法时,表示该方法可以接收到http请求方式为put;

@RestController
@RequestMapping("/example")
public class ExampleController {@PutMapping("/put")public String put(String name){String msg="hello , "+name+" , this is a post request";return msg;}
}

DELETE请求

DELETE请求主要用于删除服务器上的某资源,当 @DeleteMapping注解标记该方法时,表示该方法可以接收到http请求方式为put;

@RestController
@RequestMapping("/example")
public class ExampleController {@DeleteMapping("/delete")public String delete(String name){String msg="hello , "+name+" , this is a delete request";return msg;}
}

小结

使用Springboot构建一个SpringMVC项目,就是如此简单,几乎不需要什么配置,几分钟就可以学会构建项目,大概这就是Springboot如此流行的原因吧。实际上,在这之前,使用xml配件文件,可并没有如此简单,回想在最开始的时候,我总是边配置边纳闷这个配置是干什么用,为什么要这么配置,满脑子都是问号,以致于后来,每接手一个项目,我都习惯于先把所有的配置文件研究一遍,初步在脑子中构建起项目的基本结构。

相关文章:

SpringBoot搭建SpringMVC项目

前言据我的了解,现在不管是大公司或是小公司,如果使用java开发一个web项目,大部分都会选择使用SpringBoot,关于Springboot的好处,就不在这里过多赘述,总之Springboot有一套完整的生态,从项目构建…...

Prescriptive Analytics for Flexible Capacity Management

3 本节根据Netessine等人(2002年)和Bassok等人(1999年)对我们解决的容量规划问题进行了正式描述。考虑一家以pi(I1,…,I)的单价提供I服务的公司。在每个计划周期t∈{1,……...

超简单的待办事项列表管理器todo

什么是 todo ? todo 是一个自托管的 todo web 应用程序,可让您以简单且最少的方式跟踪您的 todo。📝 老苏觉得和之前介绍的 KissLists 比较像 文章传送门:最简单的共享列表服务器KissLists 官方提供了 Demo 演示站点:https://tod…...

在C#中初测OpencvSharp4

一、配置OpenCV 首先,我们新建一个工程,然后就是给这个工程配置OpenCV了,最简单的方法还是Nuget,来我们右键一个Nuget: 打开Nuget后,你可以直接输入OpenCVSharp4来查找,当然,如果你…...

洛谷P1123 取数游戏(C++)(DFS)

目录 1.题目 题目描述 输入格式 输出格式 输入输出样例 说明/提示 2.AC 1.题目 题目描述 一个N \times MNM的由非负整数构成的数字矩阵,你需要在其中取出若干个数字,使得取出的任意两个数字不相邻(若一个数字在另外一个数字相邻88个格…...

Python Qt6快速入门-嵌入PyQtGraph图表

嵌入PyQtGraph 文章目录 嵌入PyQtGraph1、PyQtGraph介绍2、创建PyQtGraph小部件3、绘图样式配置3.1 背景颜色3.2 线条颜色、线宽和样式配置3.3 线标记(Line Markers)3.4 绘制标题3.5 轴标题3.6 图例(Legends)3.7 轴范围限制3.8 绘制多组数据3.10 画布清空4、更新数据5、总结1、…...

Mac电脑_GitHub提交项目至仓库

第一步(准备工作): Mac 电脑自带 git , 无需安装 1. 创建一个项目 demo1 在 github 上 2. 创建 ssh 密钥 打开终端: ssh-keygen -t rsa -C "your_emailyouremail.com" 此处输入两次密码, 直接…...

Android自定义View实现横向的双水波纹进度条

效果图:网上垂直的水波纹进度条很多,但横向的很少,将垂直的水波纹改为水平的还遇到了些麻烦,现在完善后发布出来,希望遇到的人少躺点坑。思路分析整体效果可分为三个,绘制圆角背景和圆角矩形,绘…...

Python 之 Pandas 分组操作详解和缺失数据处理

文章目录一、groupby 分组操作详解1. Groupby 的基本原理2. agg 聚合操作3. transform 转换值4. apply二、pandas 缺失数据处理1. 缺失值类型1.1 np.nan1.2 None1.3 NA 标量2. 缺失值处理2.1 查看缺失值的情形2.2 缺失值的判断2.3 删除缺失值2.4 缺失值填充在开始之前&#xff…...

【人工智能 AI】什么是人工智能? What is Artificial Intelligence

目录 Introduction to Artificial Intelligence人工智能概论 What is Artificial Intelligence? 什么是人工智能?...

17、触发器

文章目录1 触发器概述2 触发器的创建2.1 创建触发器语法2.2 代码举例3 查看、删除触发器3.1 查看触发器3.2 删除触发器4 触发器的优缺点4.1 优点4.2 缺点4.3 注意点尚硅谷MySQL数据库教程-讲师:宋红康 我们缺乏的不是知识,而是学而不厌的态度 在实际开发…...

内核并发消杀器(KCSAN)技术分析

一、KCSAN介绍KCSAN(Kernel Concurrency Sanitizer)是一种动态竞态检测器,它依赖于编译时插装,并使用基于观察点的采样方法来检测竞态,其主要目的是检测数据竞争。KCSAN是一种检测LKMM(Linux内核内存一致性模型)定义的数据竞争(data race)的工…...

蓄水池抽样算法

蓄水池抽样,也称水塘抽样,是随机抽样算法的一种。基本抽样问题有一批数据(假设为一个数组,可以逐个读取),要从中随机抽取一个数字,求抽得的数字下标。常规的抽样方法是,先读取所有的…...

数据结构预算法之买股票最好时机动态规划(可买卖多次)

一.题目二.思路在动规五部曲中,这个区别主要是体现在递推公式上,其他都和上一篇文章思路是一样的。所以我们重点讲一讲递推公式。这里重申一下dp数组的含义:dp[i][0] 表示第i天持有股票所得现金。dp[i][1] 表示第i天不持有股票所得最多现金如…...

华为OD机试真题Java实现【蛇形矩阵】真题+解题思路+代码(20222023)

蛇形矩阵 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。 例如,当输入5时,应该输出的三角形为: 1 3 6 10 15 2 5 9 14 4 8 13 7 12 11请注意本题含有多组样例输入。 🔥🔥🔥🔥🔥👉👉👉👉👉👉 华为OD机试(Java)真题目录汇总 输入描述:…...

spring Bean的生命周期 IOC

文章目录 1. 基础知识1.1 什么是 IoC ?2. 扩展方法3. 源码入口1. 基础知识 1.1 什么是 IoC ? IoC,控制反转,想必大家都知道,所谓的控制反转,就是把 new 对象的权利交给容器,所有的对象都被容器控制,这就叫所谓的控制反转。 IoC 很好地体现了面向对象设计法则之一 —…...

详解cors跨域

文章目录同源策略cors基本概念cors跨域方式简单请求 simple request非简单请求- 预检请求CORS兼容情况CORS总结同源策略 在以前的一篇博客中有介绍,同源策略是一种安全机制,为了预防某些恶意的行为,限制浏览器从不同源文档和脚本进行交互的行…...

ARM uboot 源码分析7 - uboot的命令体系

一、uboot 命令体系基础 1、使用 uboot 命令 (1) uboot 启动后进入命令行环境下,在此输入命令按回车结束,uboot 会收取这个命令然后解析,然后执行。 2、uboot 命令体系实现代码在哪里 (1) uboot 命令体系的实现代码在 uboot/common/cmd_xx…...

物理服务器与云服务器备份相同吗?

自从云计算兴起以来,服务器备份已经从两阶段的模拟操作演变为由云服务器备份软件执行的复杂的多个过程。但是支持物理服务器和虚拟服务器之间的备份相同吗?主要区别是什么?我们接下来将详细讨论这个问题。 物理服务器与云服务器备份的区别 如果您不熟悉虚拟服务器…...

【Linux】system V共享内存 | 消息队列 | 信号量

​🌠 作者:阿亮joy. 🎆专栏:《学会Linux》 🎇 座右铭:每个优秀的人都有一段沉默的时光,那段时光是付出了很多努力却得不到结果的日子,我们把它叫做扎根 目录👉system V共…...

借助AI写教材,低查重实现,轻松打造符合需求的教材!

教材编写的挑战与AI工具解决方案 在教材编写的过程中,如何平衡原创性与合规性是一个重要的挑战。借鉴优秀教材的知识内容时,常常会担心重复率过高;而自己独立表述知识点,又得顾虑逻辑不严密、内容不准确等问题。引用他人研究成果…...

DownKyi深度解析:重新定义B站视频内容管理的新范式

DownKyi深度解析:重新定义B站视频内容管理的新范式 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等&#xff…...

Irony Mod Manager:终极Paradox游戏模组冲突解决方案完全指南

Irony Mod Manager:终极Paradox游戏模组冲突解决方案完全指南 【免费下载链接】IronyModManager Mod Manager for Paradox Games. Official Discord: https://discord.gg/t9JmY8KFrV 项目地址: https://gitcode.com/gh_mirrors/ir/IronyModManager 你是否曾经…...

Windows环境5步搞定OpenCore引导盘:Hackintosh安装终极指南

Windows环境5步搞定OpenCore引导盘:Hackintosh安装终极指南 【免费下载链接】OpenCore-Install-Guide Repo for the OpenCore Install Guide 项目地址: https://gitcode.com/gh_mirrors/op/OpenCore-Install-Guide 想要在普通PC上体验macOS的流畅与优雅吗&am…...

抖音批量下载完整指南:3步实现无水印视频高效获取

抖音批量下载完整指南:3步实现无水印视频高效获取 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. …...

企业级实时数据采集方案:构建高性能直播弹幕监控系统

企业级实时数据采集方案:构建高性能直播弹幕监控系统 【免费下载链接】BarrageGrab 抖音快手bilibili直播弹幕wss直连,非系统代理方式,无需多开浏览器窗口 项目地址: https://gitcode.com/gh_mirrors/ba/BarrageGrab 在直播电商、游戏…...

免费文档下载终极指南:一键获取百度文库、豆丁网等30+平台资源

免费文档下载终极指南:一键获取百度文库、豆丁网等30平台资源 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就…...

鸣潮自动化终极指南:5步实现后台智能挂机,解放你的游戏时间

鸣潮自动化终极指南:5步实现后台智能挂机,解放你的游戏时间 【免费下载链接】ok-wuthering-waves 鸣潮 后台自动战斗 自动刷声骸 一键日常 Automation for Wuthering Waves 项目地址: https://gitcode.com/GitHub_Trending/ok/ok-wuthering-waves …...

Qt5 super module多媒体模块详解:音频、视频、3D图形处理技术

Qt5 super module多媒体模块详解:音频、视频、3D图形处理技术 【免费下载链接】qt5 Qt5 super module 项目地址: https://gitcode.com/gh_mirrors/qt/qt5 Qt5 super module是一个功能强大的跨平台应用开发框架,其中的多媒体模块为开发者提供了全面…...

QMCDecode终极指南:3步快速解锁QQ音乐加密格式,实现音频自由播放

QMCDecode终极指南:3步快速解锁QQ音乐加密格式,实现音频自由播放 【免费下载链接】QMCDecode QQ音乐QMC格式转换为普通格式(qmcflac转flac,qmc0,qmc3转mp3, mflac,mflac0等转flac),仅支持macOS,可自动识别到QQ音乐下载…...