如何从0到1搭建一个SpringBoot项目

在这里插入图片描述

在这里插入图片描述

SpringBoot是大家使用最多的一个Java框架了,今日就来详细介绍一下如何去创建一个SpringBoot项目

一、准备工作

  1. 首先要来看你的IDEA版本,如果你的IDEA是【专业版】的,那么你就无需安装任何的插件,直接就可以创建SpringBoot的项目了
  2. 但如果你的IDEA版本是【社区版】的话,就需要考虑地仔细一些了,因此此时你需要先去安装以下插件
  • 首先第一个的话是Spring Boot Helper 插件

image.png

  • 在你安装好这个插件之后,它的名字就变成了Spring Initializr and Assistant

image.png

二、正式创建SpringBoot项目

接下来我们来创建 Spring Boot 项⽬了

1、创建一个新项目

  • 如果你是英文版的,就在这里选择New -> Project...

image.png

  • 如果你是中文版的,就在这里选择新建 -> 项目...

image.png

接下去就会跳出来选项了,这里我们选择Spring Initializr,在右侧读者记得选择正确的JDK版本,此处推荐JDK8,但如果你是JDK17的也没有关系

然后就选择要创建项目的源地址即可,默认这里我们使用到的是官网默认的数据源start.spring.io,但如果官方的这个数据源挂了,也不用担心,我们还可以使用阿里巴巴的国内源start.aliyun.com去创建,点下下面的 Custom即可(不推荐,有兼容性问题)

image.png
image.png

2、项目参数设置

接下里点进去呢就是具体的项目参数设置了此处我们主要修改的地方就两个:

  1. 是这个【Project Types】,一定要选择Maven
  2. 第二个呢则是这个【Java version】,对应这你前面所选择的JDK版本,如果你前面选择的是JDK17的话,此处也选JDK17;如果前面选择的是JDK8的话,此处也选JDK8

image.png

3、添加项目依赖

接下去我们就要添加项目依赖了,首先我们要关注的地方就是这个SpringBoot的版本:

  • 如果你前面选择的是JDK8的话,那么在这里你只能选择2.0开头的版本
  • 但如果你前面选择的是JDK17的话,那么在这里便可以支持3.0开头的版本

image.png

image.png

接下来我们就要去添加各项依赖了,想要去完整地做出一个项目,此处我们必须要添加的依赖有以下四个:

  1. MySQL Driver —— 用于支持MySQL的数据库驱动
  2. SpringBoot DevTools —— 用于热部署
  3. Lombok —— 简化 Java 代码,减少样板代码,提高开发效率
  4. Spring Web —— 让当前的框架变成HTTP框架的依赖

image.png

image.png

image.png

4、项目存储与启动

当添加好各项依赖之后,我们就可以设置当前项目的存储路径了,不过要注意的是项目名称和路径中不能出现任何和中文相关的信息

image.png

接下来一进去,你可以可能会遇到各种各样的问题,我们来一一解说一下

  1. 首先第一个:你在点开DemoApplication是可能会看到其左下角有一个橙色的j的图标,这表明IDEA还没有把当前的项目识别为是Maven项目,此时我们就需要加载对应的Maven依赖

image.png

此时我们就需要添加框架的支持Add Framework Support

image.png

在点进去之后,选择Maven然后打勾即可

image.png

  1. 接下去如果读者碰到的是下面这样的情况的话,就是出现了Maven国内源的问题

image.png

对于这个问题我在之前的博客中有过介绍,读者可以去看看 链接

  • 有蓝色c小图标代表项目加载好了

image.png

然后我们进入到启动类DemoApplication,点击【运行】即可

image.png

在项目启动起来之后,我们可以看到有一个很大的Spring标志,然后看到底部以ms为单位的数字便可以观察出后台已经启动了( •̀ ω •́ )y

image.png

5、测试与运行

在一切都配置好之后,我们就可以写一些代码来测试一下了

首先我们要做的就是创建controller层,这个分层原理我们后面会讲到,controller层主要是用来与前端页面的路由地址进行交互的

image.png

  • 以下是具体的测试代码,从代码的风格我们就可以看出其与Servlet不同之处在于我们无需为多个功能去实现多个类,而是只需要写一个类就可以了,接着我们通过路由的选择就可以找对应的功能了
@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/add")public String addUser(String name){//...return "add success - >" + name;}@RequestMapping("/del")public String delUser(String name){//...return "del success - >" + name;}@RequestMapping("/sel")public String selUser(String name){//...return "sel success - >" + name;}@RequestMapping("/update")public String updateUser(String name){//...return "update success - >" + name;}
}

我们可以来前端页面输入网址进行测试,看看具体的路由传参,如果来实现前后端交互的

http://localhost:8080/user/add?name=zhangsan

image.png

我们来改变一下queryString的参数,让name=lisi,那么最后打印出来的值就变成了lisi

http://localhost:8080/user/add?name=lisi

image.png


三、总结与提炼

那么以上就是如果如何从0到1搭建一个SpringBoot项目了,我们再来回顾总结一下📚

  1. 首先我们要做好前期的准备工作,明确自己IDEA的版本以此清楚要从何处去创建新建一个项目

  2. 接下去我们开始正式项目的搭建了,我们以社区版为例,当安装好指定插件后,便可以去创建新项目了,其中要注意的点是:

    • 参数的设置中:Maven项目的选择以及对应JDK的选择
    • 添加项目依赖时:SpringBoot版本的选择以及各项依赖的正确添加
    • 保存项目时:项目名称和路径中不能出现任何和中文相关的信息
    • 项目启动前:IDEA项目识别问题 以及 Maven国内源的配置问题
  3. 那么当上面的这些全部配置完之后,我们便可以去运行代码进行测试了,观察前后端的交互我们可以看出【SpringBoot】相较【Servlet】来说有了很大的便捷性和性能提升

望本文对正在阅读的你有所帮助,本文完

The End.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【MIMO 从入门到精通】[P4]【MIMO Communications】

前言: Explains the main approaches to multi-input multi-output (MIMO) communications, including Beamforming, Zero Forcing, and MMSE. * Note that at the 9:19min mark, I made a slight "voice typo", where I should have said: "you nee…

世界首款配备M.2固态硬盘的树莓派Pi 5工业计算机发布!

多年来,上海晶珩一直秉承创新理念,持续不断地推陈出新。在成功推出一系列基于树莓派 Raspberry Pi CM4 的工业计算机后,现推出了全球首款搭载 M.2 固态硬盘的 Raspberry Pi 5 工业计算机ED-IPC3020系列。 ED-IPC3020搭载强大的Broadcom BCM27…

交换机vlan划分方法,学会这三招就够!

你们好,我的网工朋友。 交换机的配置我们说过很多,总有一些朋友会提到vlan的划分,今天就给你说下具体的应用。 关于vlan的划分方法有很多,项目应用中较多的方法就是基于端口划分vlan、基于mac地址划分vlan、基于ip地址划分vlan……

Redis相关的那些事(一)

背景 目前工作所负责的工作主要是投放业务,属于读高并发场景,记录一下之前碰到的redis相关的问题。 热点大值Key&缓存击穿问题 问题表现 在某次流量峰值过程中,redis的CPU突然飙升,从监控看起来就是CPU飙升到一定程度&…

如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问

作者简介: 懒大王敲代码,计算机专业应届生 今天给大家如何使用Jellyfin结合内网穿透搭建私人影音平台远程可访问,希望大家能觉得实用! 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 前言…

ARM 汇编语言知识积累

博文参考: arm中SP,LR,PC寄存器以及其它所有寄存器以及处理器运行模式介绍 arm平台根据栈进行backtrace的方法-腾讯云开发者社区-腾讯云 (tencent.com) 特殊功能寄存器: SP: 即 R13,栈指针,…

JuiceSSH结合内网穿透实现公网远程访问本地Linux虚拟机

文章目录 1. Linux安装cpolar2. 创建公网SSH连接地址3. JuiceSSH公网远程连接4. 固定连接SSH公网地址5. SSH固定地址连接测试 处于内网的虚拟机如何被外网访问呢?如何手机就能访问虚拟机呢? cpolarJuiceSSH 实现手机端远程连接Linux虚拟机(内网穿透,手机端连接Linux虚拟机) …

MAC鼠标中键的使用

MAC鼠标没有鼠标中键,于是在一些场景中用起来非常麻烦,这里介绍几种键盘快捷键鼠标左键实现中键功能的例子: 1)在sublime text 或者pycharm等一些文本编辑器或IDE中实现中键修改一列数据中特定位置的值 FNOPT左键另外还有C4D&…

Go爬虫程序采集抖音快手商户 开店不再难

最近遇到一群客户,在疯狂做抖店,看他们朋友圈一天销售额都好几万,几天就能起一个店铺,而且一个人可以管理很多店铺。今天我们就以抖店上的商户种类来做个数据采集,主要是分析商品类别以及热门程度。 实现这个任务&…

【四】记一次关于架构设计从0到1的讨论

记一次关于架构设计从0到1的讨论 简介: 在一次面试中和面试官讨论起来架构设计这个话题,一聊就不知不觉一个小时了,感觉意犹未尽。现在回想起来感觉挺有意思的,古人说独学而无友则孤陋而寡闻,的确是这样的&#xff0c…

C++ opencv-3.4.1 提取不规则物体的轮廓

在学习opencv的时候,对一张照片,需要标注照片上物体的不规则轮廓。 如图: 使用opencv进行物体的轮廓处理,关键在于对照片的理解,前期的照片处理的越好最后调用api出来的结果就越接近理想值。 提取照片中物体分如下三步&#xff…

全国(山东、安徽)职业技能大赛--信息安全管理与评估大赛题目+答案讲解——windows应急响应篇

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【java】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收藏 …

【Spring】SpringBoot 配置文件

文章目录 什么是配置文件SpringBoot配置文件配置文件快速入手配置文件的格式properties 配置文件说明properties 基本语法读取配置文件信息properties 配置格式缺点 yml 配置文件说明yml 基本语法使用 yml 连接数据库 yml 使用进阶yml 配置不同数据类型配置对象配置集合配置Map…

【prompt一】Domain Adaptation via Prompt Learning

1.Motivation 当前的UDA方法通过对齐源和目标特征空间来学习域不变特征。这种对齐是由诸如统计差异最小化或对抗性训练等约束施加的。然而,这些约束可能导致语义特征结构的扭曲和类可辨别性的丧失。 在本文中,引入了一种新的UDA提示学习范式&#xff0…

RPC 实战与原理

文章目录 什么是 RPC?RPC 有什么作用?RPC 步骤为什么需要序列化?零拷贝什么是零拷贝?为什么需要零拷贝?如何实现零拷贝?Netty 的零拷贝有何不同? 动态代理实现HTTP/2 特性为什么需要服务发现&am…

ElasticSearch入门介绍和实战

目录 1.ElasticSearch简介 1.1 ElasticSearch(简称ES) 1.2 ElasticSearch与Lucene的关系 1.3 哪些公司在使用Elasticsearch 1.4 ES vs Solr比较 1.4.1 ES vs Solr 检索速度 2. Lucene全文检索框架 2.1 什么是全文检索 2.2 分词原理之倒排索引…

easypoi通过反射修改表头,poi,workbook修改表头

没废话上代码, 使用easypoi导出时一般会用到一个实体类 提供一个示例代码: 实体类: Data public class TestVO {private String id;Excel(name "字段1")private String findId1;Excel(name "字段2")private String fi…

Windows 10中查找文件的3种方法,就差不多够你查找想要的文件了

本文介绍了在Windows 10计算机上搜索文件的两种主要方法,以及对第三方搜索应用程序的建议和更好地搜索文件的有用提示。 使用任务栏搜索栏进行常规搜索 永久位于屏幕底部的搜索栏是大多数人的首选搜索方法,使用起来毫不费力。如果你不知道在哪里可以找…

2023航天推进理论基础考试划重点(W老师)绪论固体推进剂

1、推进系统的分类: 按工作原理分, 直接反作用发动机(喷气发动机) 火箭发动机、组合发动机、冲压发动机、涡轮喷气发动机、涡轮风扇发动机 间接反作用发动机 活塞式发动机、涡轮螺旋桨发动机、涡轮轴发动机、航空电动机 2、后面不细讲的火箭发动机要…

Windows系统重启Redis服务

Windows系统 在安装Redis的目录下打开终端 执行 redis-cli.exe shutdown先停止 Redis 服务 然后 执行 redis-server.exe启动Redis服务