Maven是怎么样构建Spring Boot项目的?

news/2024/12/5 5:18:36/

准备好项目运行所需的环境后,就可以使用IDEA开发工具搭建一个Spring Boot入门程序了。我们既可以使用Maven方式构建项目,也可以使用Spring Initializr快捷方式构建项目。这里先介绍如何使用Maven方式构建Spring Boot项目,具体步骤如下。

1.初始化IDEA配置

如果是初次下载安装IDEA工具或者未打开任何项目,会先进入IDEA欢迎页,具体如图1-1所示。

为了避免后续每个项目都要配置Maven和JDK,这里我们在IDEA中统一配置Mavan和JDK,具体方式如下。

(1)Maven 初始化设置

打开IDEA进入欢迎页,单击页面右下角的【Configure】→【Project Defaults】→【Settings】选项进入默认项目设置页面,在左侧搜索“Maven”关键字找到Maven 设置选项,在右侧对应的设置界面中进行Maven初始化设置,具体如图所示。
在这里插入图片描述
图中所示内容是对Maven安装目录(Maven home directory)、Maven的settings配置文件(User settings file)和Maven 本地仓库地址(Local repository )进行了设置。当然,读者可以根据自己的情况配置Maven选项。配置完成后,单击【Apply】→【OK】按钮即可完成Maven的初始化设置。

(2)JDK初始化设置

在IDEA欢迎页面,单击【Confijgure】A【Projeot Defaults】 【Project Structure】选项进入Project Structure 设置页面,在界面左侧选择【Project Settings 】→【Project 】选项,在打开的右侧页面中对JDK初始化设置,具体如下图所示。
在这里插入图片描述
两图所示内容是对Maven安装目录(Maven home directory)、Maven的settings配置文件(User settings file)和Maven 本地仓库地址(Local repository)进行了设置。当然,读者可以根据自己的情况配置Maven 选项。配置完成后,单击【Apply 】→【OK】按钮即可完成Maven的初始化设置。

(2)JDK初始化设置

在IDEA欢迎页面,单击【Configure】→【Project Defaults 】→【Project Structure】选项进入Project Structure 设置页面,在界面左侧选择【Project Settings】→【Project 】选项,在打开的页面中对JDK初始化设置,具体如图所示。
在这里插入图片描述
在图所示界面中,可以通过单击右侧页面的【New】按钮选择自定义安装的JDK路径,设置完成后,单击【Apply】→【OK】按钮完成JDK的初始化配置。

2.创建Maven项目

在IDEA欢迎页面,单击图1-1所示的【Create New Project】按钮创建项目,出现如图1-4所示的界面。左侧罗列的是可以选择创建的项目类型,包括Spring项目、Android项目、Spring Initializr项目(即Spring Boot项目)、Maven项目等;右侧是不同类型项目对应的设置界面。这里,左侧选择【Maven】选项,右侧选择当前项目的JDK(上一步预先设置的JDK环境),单击【Next】按钮进入Maven项目创建界面,具体如图所示。

在这里插入图片描述

Groupld表示组织ID,一般分为两个字段,包括域名和公司名;Artifactld表示项目唯一标识符,一般是项目名称;Version表示项目版本号。此处,将Groupld设置为 com.itheima,Artifactld 设置为 manual_chapter01,并使用默认生成的版本号。单击【Next】按钮进入填写项目名称和路径的页面,具体如图1-6所示。

在图1-6所示界面中,Project name用于指定项目名称,在上一步中定义的Artifactld 会默认作为项目名;Project location 用于指定项目的存储路径,默认会存放在C盘下。此处,我们使用上一步设置的manual_chapterO1作为项目名称,存放路径可以单击右侧的【…】按钮修改。项目名称和存放路径设置好之后,单击【Finish】按钮完成项目的创建。项目创建完成后,会默认打开创建Maven项目生成的pom.xml依赖文件,同时在右下角会弹出“Maven projects need to be imported”(需要导入Maven依赖)的提示框。
在这里插入图片描述
“Maven projects need to be imported”提示框有两个选项:“Import Changes”表示导入版本变化,只会导入本次变化的依赖;“Enable Auto-lmport”表示开启自动导入,后期会持续监测并自动导入变化的依赖。这里选择“Enable Auto-lmport”选项,一旦pom.xml 文件发生更改,依赖会自动导入。

至此,使用IDEA开发工具进行Maven项目的初始化搭建已经完成,但是该项目目前只是一个空的Maven项目,要构建Spring Boot项目,还需要额外进行一些工作。

3.添加Spring Boot 相关依赖

打开manual_chapter01项下的pom.xml文件,在该pom.xml文件中添加构建Spring Boot项目和Web场景开发对应的依赖,示例代码如下:

<!--引入Spring Boot依赖-->
<parent>       <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-parent</artifactId>      <version>2.1.3.RELEASE</version>
</parent>
<dependencies>      <--引入Web场景依赖启动器--><dependency>              <groupId>org.springframework.boot</groupId>              <artifactId>spring-boot-starter-web</artifactId>     </dependency>
</dependencies>

上述代码中, 标签中添加的spring-boot-starter-parent 依赖是Spring Boot 框架集成项目的统一父类管理依赖,添加该依赖后就可以使用Spring Boot的相关特性; 标签指定 Spring Boot 的版本号是 2.1.3.RELEASE; 标签中添加的spring-boot-starter-web依赖是Spring Boot框架对Web开发场景集成支持的依赖启动器,添加该依赖后就可以自动导入Spring MVC框架相关依赖进行Web开发了。
Java最新课程:

Java零基础视频教程(2022最新Java入门,含斯坦福大学练习题+力扣算法题

Java基础入门:

java零基础自学首Java入门教程(含Java项目和Java真题)

Javaweb核心基础

JavaWeb基础教程,Java web从入门到企业实战完整版

Spring Cloud最全微服务架构

史上最全面的springcloud微服务技术栈

SSM框架教程:

SSM框架教程_Spring+SpringMVC+Maven高级+Spring

SpringBoot2全套视频教程:

SpringBoot2全套视频教程,springboot零基础到项目实战


http://www.ppmy.cn/news/7950.html

相关文章

Linux模块代码、编译、加载、卸载一条龙

最近要写一个Linux的内核模块&#xff0c;记录一下内核模块的代码编写、编译、加载和卸载的基本流程&#xff0c;以作备忘&#xff0c;也希望能帮到有需要的同学。 模块代码 //代码来自https://yangkuncn.cn/kernel_INIT_WORK.html //init_works.c #include <linux/kernel…

Java死锁

一.死锁是什么&#xff1f; 死锁指两个或者两个以上的线程在执行过程中&#xff0c;去争夺同样一个共享资源&#xff0c;造成的相互等待的现象&#xff0c;如果没有外部干预&#xff0c;线程会一直阻塞&#xff0c;无法往下执行&#xff0c;这样一直处于相互等待资源的线程叫做…

什么品牌的蓝牙耳机音质最好?高品质蓝牙耳机排行榜

近年来&#xff0c;大量的蓝牙耳机品牌厂商涌入市场&#xff0c;蓝牙耳机的需求不断提高&#xff0c;但质量一直是人们担心的问题&#xff0c;今天就为大家盘点几款当前音质表现不错的真无线蓝牙耳机。 一、南卡小音舱蓝牙耳机 发声单元&#xff1a;13.3mm 网友推荐系数&…

力扣(LeetCode)363. 矩形区域不超过 K 的最大数值和(2022.12.30)

给你一个 m x n 的矩阵 matrix 和一个整数 k &#xff0c;找出并返回矩阵内部矩形区域的不超过 k 的最大数值和。 题目数据保证总会存在一个数值和不超过 k 的矩形区域。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,0,1],[0,-2,3]], k 2 输出&#xff1a;2 解释&…

UE4 SoundCue声音节点总结

最近撸了一下音效&#xff0c;做个总结Mark一下&#xff1a; 1.Cue文件&#xff1a;音频序列化文件&#xff0c;能够对多个音频文件进行排序、组合、淡入淡出等操作&#xff0c;做出新的音频文件 2.Cue文件中的“声音节点” 2.1按参数交叉淡化&#xff1a; 节点及参数详解&…

【数组】leetcode704.二分查找(C/C++/Java/Js)

leetcode704.二分查找1 题目2 思路2.1 二分法区间--左闭右闭写法2.2 二分法区间--左闭右开写法3 代码&#xff08;均使用左闭右闭&#xff09;3.1 Java版本3.2 C版本3.3 C版本3.4 JavaScript版本4 小结1 题目 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nu…

【基础强训】day4

一、选择题 &#x1f308;第1题 有以下程序 #include<iostream> #include<cstdio> using namespace std; int main(){ int m0123, n123; printf("%o %o\n", m, n); return 0; } 程序运行后的输出结果是&#xff08;&#xff09; A 0123 0173 B 01…

vscode+opencv+mingw+cmake配置vscode下的opencv环境

目录介绍安装VsCode安装mingw安装cmake安装opencv&#xff0c;以及其扩展库 opencv_contrib安装python利用cmake生成opencv的Makefile文件cmake命令进行编译&#xff0c;安装配置opencv环境变量配置VSCODE测试DEMO介绍 参考链接&#xff1a;https://www.cnblogs.com/czlhxm/p/…