搭建SpringBoot项目三种方式(超详细版)

目录

一、官网下载压缩包解压

二、通过Idea脚手架搭建

三、Spring Boot项目结构

3.1 pom.xml文件

3.2 启动类

3.3 配置文件

四、通过创建Maven项目添加依赖


一、官网下载压缩包解压

接下来我们搭建一个SpringBoot项目,并引入SpringMVC的功能,首先我们可以通过官网搭建项目:

1. 访问start.spring.io

然后我们可以点击右上方的Add depenencies来进入我们需要的依赖

可以我们想要添加什么依赖在上方搜索框搜一下,直接加进来就可以了,比如说想要添加Spring Web依赖,如下图:

然后自定义项目名称Name,选择项目类型,Maven,项目语言:java

然后直接Generate

已经下载好了,我们直接解压到自己喜欢的目录下,然后通过Idea打开:

等下方的依赖引进来之后,直接点击运行:看到下图,则说明运行成功,则可以开启我们的SpringBoot学习啦

SpringBoot版本说明:

  • SNAPSHOT:快照版,表示开发版本,随时可能修改;
  • M1(Mn):M1是milestone的缩写,也就是里程碑版本;
  • RC1(RCn):RC1是release candidates的缩写,也就是发布预览版;
  • Release:正式版,也可能没有任何后缀也表示正式版

SpringBoot打包类型说明:

使用SpringMVC开发的是一个web项目,但由于在SpringBoot中直接嵌入了Tomcat等Web容器,所以在使用SpringBoot做Web开发时不需要部署War文件,只需要打成Jar包即可。

二、通过Idea脚手架搭建

好了,现在我们来说一下,如何在Idea上直接搭建SpringBoot项目:

1. 在左侧列表选择Spring Initializer,代表这是一个Spring Boot项目

2. 项目来源地址,因为spring是国外的服务器,所以我们通常使用阿里云的网站来搭建会快一点。

3. 点击设置,更改URL为:https://start.aliyun.com/

然后输入我们的项目名称Name,还有一个Java版本,打包类型,然后点击Next

1. 选择Spring Boot项目,由于这是国内镜像,阿里云的版本一般比官网低一点

2. 同样,我们在搜索框里搜索我们需要添加的依赖,比如说这里添加一个web依赖。然后直接点击Finish

点击Finish之后会直接打开我们刚刚创建的项目,可以看到这里还加了一个demo给我们,

OK,我们直接运行,出现下面页面也是代表我们构建运行项目成功。

三、Spring Boot项目结构

接下来我们分析一下Spring Boot项目结构。

3.1 pom.xml文件

1. SpringBoot项目必须继承spring-boot-starter-parent,即所有的SpringBoot项目都是spring-boot-starter-parent的子项目。spring-boot-starter-parent中定义了常用配置、依赖、插件等信息,供SpringBoot项目继承使用。

其实在有些比较新的版本里面是不需要继承parent 项目......

SpringBoot项目中可以定义起步依赖,起步依赖不是以jar包为单位,而是以功能为单位,毕竟是一个约定大于配置的思想,凡是看到依赖带有stater单词的基本都不用添加依赖版本,因为这都已经在父项目parent中配置好了。

spring-boot-maven-plugin插件是将项目打包成jar包的插件。该插件打包后的SpringBoot项目无需依赖web容器,可以直接使用JDK运行

3.2 启动类

启动类的作用是启动SpringBoot项目,运行启动类的main方法即可启动SpringBoot项目。

注意的是,启动类一定要放在最外层包下面,因为项目启动后,加载文件加载包都是在启动类的同级目录下的

3.3 配置文件

由于SpringBoot极大简化了Spring配置,所以只有一个application.properties配置文件,且Spring的自动配置功能使得大部分的配置都有默认配置,该文件的功能是覆盖默认配置信息,该文件不写任何信息都可以启动项目。启动后默认端口号为8080,我们可以覆盖该配置:

注意:配置文件的加载优先级是有config选config,有项目目录下扫描项目目录下。下面就是配置文件扫描优先级。

  1. 项目目录下的conifg目录
  2. 项目目录下的配置文件
  3. resources目录下的config目录
  4. resources目录下的配置文件

启动项目,我们可以发现端口变成8888了。

四、通过创建Maven项目添加依赖

OK,通过了解了Spring Boot项目的项目结构,那我们可以直接通过Maven搭建Spring Boot项目了。引入对应的SpringBoot依赖即可,和构建属于SpringBoot的资源目录

1. 使用Maven构建Maven项目:

选择项目JDK版本,点击Finish

自定义项目名称和位置,然后点击finish.

OK,项目创建完成后,我们只需要在pom.xml文件中引入相关依赖即可

<?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.example</groupId><artifactId>demo</artifactId><version>1.0-SNAPSHOT</version><parent><artifactId>spring-boot-starter-parent</artifactId><groupId>org.springframework.boot</groupId><version>2.7.16-SNAPSHOT</version></parent><dependencies><!-- Spring MVC依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- springBoot的Test依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies><properties><maven.compiler.source>11</maven.compiler.source><maven.compiler.target>11</maven.compiler.target></properties><build><plugins><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version></plugin></plugins></build></project>

1. 引入父项目,2. 引入相关依赖,3. 添加tomcat插件,4. 刷新pom文件

OK,然后我们添加启动类,首先在源程序目录(java)下添加包,com.example.demo,然后把SpringBootDemo启动类添加到该包下:

package com.example.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class SpringBootDemo {public static void main(String[] args) {SpringApplication.run(SpringBootDemo.class);}
}

然后点击运行即可,OK,看下图是成功运行的了。

以上就是创建SpringBoot项目的三种方式,喜欢哪个就用哪个啪。

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

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

相关文章

自学WEB服务器搭建01-安装Express+Node.js框架完成Hello World!

一、前言&#xff0c;网站开发扫盲知识 1.网站搭建开发包括什么&#xff1f; 前端、后端&#xff08;服务端&#xff09;数据库 前端开发主要涉及用户界面&#xff08;UI&#xff09;和用户体验&#xff08;UX&#xff09;&#xff0c;负责实现网站的外观和交互逻辑。前端开发…

多线程进阶:常见的锁策略、CAS

之前我们所了解的属于多线程的初阶内容。今天开始&#xff0c;我们进入多线程进阶的学习。 锁的策略 乐观锁 悲观锁 这不是两把具体的锁&#xff0c;应该叫做“两类锁” 乐观锁&#xff1a;预测锁竞争不是很激烈&#xff08;这里做的工作可能就会少一些&#xff09; 悲观锁…

3.6+铁死亡+WGCNA+机器学习

今天给同学们分享一篇3.6铁死亡WGCNA机器学习的生信文章“Identification of ferroptosis related biomarkers and immune infiltration in Parkinsons disease by integrated bioinformatic analysis”&#xff0c;这篇文章于2023年3月14日发表在BMC Med Genomics期刊上&#…

Mac电脑信息大纲记录软件 OmniOutliner 5 Pro for Mac中文

OmniOutliner 5 Pro是一款专业级的Mac大纲制作工具&#xff0c;它可以帮助用户更好地组织和管理信息&#xff0c;以及制作精美的大纲。以下是OmniOutliner 5 Pro的主要功能和特点&#xff1a; 强大的大纲组织和管理功能。OmniOutliner 5 Pro为用户提供了多层次的大纲结构&…

【QT】QT事件Event大全

很高兴在雪易的CSDN遇见你 &#xff0c;给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享QT中的事件Event技术&#xff0c;主要从QT事件流程和常用QT事件方法等方面展开&#xff0c;希望对各位小伙伴有所帮助&#xff01; 感谢各位小伙伴的点赞关注&#xff0c;小易…

virtualbox安装linux虚拟机访问互联网(外网)的方法

virtualbox安装linux虚拟机访问互联网&#xff08;外网&#xff09;的方法 设置方法效果图 设置方法 效果图

Linux系统编程-文件

目录 1、系统编程介绍以及文件基本操作文件编程系统调用文件基本读写练习 2、文件描述符以及大文件拷贝文件描述符大文件拷贝对比试验 3、文件实战练习 1、系统编程介绍以及文件基本操作 系统编程是基于Linux封装好的一些函数&#xff0c;进行开发。 Linux文件信息属性在indo…

用AI解决量子学问题

3 人工智能用于量子力学 在这一部分中&#xff0c;我们提供了有关如何设计高级深度学习方法以有效学习神经波函数的技术评述。在第3.1节中&#xff0c;我们概述了一般情况下定义和解决量子多体问题的方法。在第3.2节中&#xff0c;我们介绍了学习量子自旋系统基态的方法。在第…

微信收款码费率0.38太坑了

作为一个有多年运营经验的商家&#xff0c;我本人在申请收款功能时曾经走过了不少弯路。我找遍了市面上的知名的支付公司&#xff0c;但了解到的收款手续费率通常都在0.6左右&#xff0c;最低也只能降到0.38。这个过程吃过不少苦头。毕竟&#xff0c;收款功能是我们商家的命脉&…

Java笔记三

包机制&#xff1a; 为了更好地组织类&#xff0c;Java提供了包机制&#xff0c;用于区别类名的命名空间。 包语句的语法格式为&#xff1a;pack pkg1[. pkg2[. pkg3...]]; 般利用公司域名倒置作为包名&#xff1b;如com.baidu.com&#xff0c;如图 导包&#xff1a; 为了能够…

Python学习 day01(注意事项)

注释 print语句 变量 数据类型的转换 运算符 / 的结果为浮点数。若// 的两边有一个为浮点数&#xff0c;则结果为浮点数&#xff0c;否则为整数。 字符串 7. 精度控制 8. input()

五、点击切换、滚动切换、键盘切换

简介 通过事件改变当前展示的信息组件,交互的事件有点击上下切换、鼠标轮动上下切换、键盘上下键切换。欢迎访问个人的简历网站预览效果 本章涉及修改与新增的文件:App.vue、public 一、鼠标点击上下箭头切换 <template><div class="app-background"…

python学习--类的浅拷贝与深拷贝

变量的赋值操作 只是形成两个变量&#xff0c;实际上还是指向同一个对象 浅拷贝 Python拷贝一般都是浅拷贝&#xff0c;拷贝时&#xff0c;对象包含的子对象内容不拷贝&#xff0c;因此&#xff0c;源对象与拷贝对象会引用同一个子对象 深拷贝 使用copy模块的deepcopy函数…

古彝文识别:文化遗产的数字化之旅

目录 &#x1f345;前言&#x1f353;古彝文介绍&#x1f353;古彝文识别的重难点&#x1f352;原籍难以获取&#xff0c;传统翻译过程繁琐&#xff0c;周期长。&#x1f352;版式多样&#xff0c;笔画相近。&#x1f352;图像质量差&#xff0c;手写识别难。&#x1f352;古彜…

成为威胁:网络安全中的动手威胁模拟案例

不断变化的网络威胁形势要求组织为其网络安全团队配备必要的技能来检测、响应和防御恶意攻击。然而&#xff0c;在研究中发现并继续探索的最令人惊讶的事情是&#xff0c;欺骗当前的网络安全防御是多么容易。 防病毒程序建立在庞大的签名数据库之上&#xff0c;只需更改程序内…

Vue组件库Element

目录 Vue组件库ElementElement简介Element快速入门环境配置Element常用组件Table表格Table表格演示Table表格属性详解 Pagination分页Pagination分页演示Pagination分页属性详解Pagination分页事件详解 Dialog对话框Dialog对话框组件演示Dialog对话框属性详解 Form表单Form表单…

使用nvm快速切换node版本,windows安装nvm实现管理node版本

使用nvm node管理工具管理node版本&#xff0c;可以做到node版本随意切换&#xff0c;能快速的降低、升高node版本 这里写目录标题 使用nvm node管理工具管理node版本&#xff0c;可以做到node版本随意切换&#xff0c;能快速的降低、升高node版本安装和使用步骤&#xff1a; 一…

XC6206 低压线性稳压器 300mA低功耗LDO

XC6206系列是一款采用CMOS和激光修整技术制造的高精度、低能耗、3端子、正电压调压器。该系列提供了一个大的电流和一个明显的小的辍学电压。 XC6206由限流器电路、驱动器晶体管、精确参考电压和纠错电路组成。该系列兼容低ESR陶瓷电容。电流限制器的折叠电路作为短路保护以及输…

如何通过Gunicorn和Niginx部署Django

本文主要介绍如何配置Niginx加载Django的静态资源文件&#xff0c;也就是Static 1、首先需要将Django项目中的Settings.py 文件中的两个参数做以下设置&#xff1a; STATIC_URL /static/ STATIC_ROOT os.path.join(BASE_DIR, static) 然后在宝塔面板中执行python manage.…

86、Redis 的 value 所支持的数据类型(String、List、Set、Zset、Hash)---->String相关命令

本次讲解要点&#xff1a; String相关命令&#xff1a;String是指value中的数据类型 启动redis服务器&#xff1a; 打开小黑窗&#xff1a; C:\Users\JH>e: E:>cd E:\install\Redis6.0\Redis-x64-6.0.14\bin E:\install\Redis6.0\Redis-x64-6.0.14\bin>redis-server.…