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

news2024/9/30 9:31:19

准备好项目运行所需的环境后,就可以使用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.coloradmin.cn/o/128637.html

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

相关文章

SpringBoot+VUE前后端分离项目学习笔记 - 【06 SpringBoot集成Mybatis实现数据查询】

配置文件改成yaml格式&#xff1a; application.yml server:port: 9090spring:datasource:driver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/joyce?serverTimezoneGMT%2b8username: rootpassword: 123456写基本的功能来验证后台数据查询功能 …

了解初级测试人员从测试自动化开始需要什么?

文章目录 前言 将测试自动化视为软件开发 选择一种编程语言开始 学习干净的代码实践和原则 了解自动化中有用的设计模式 学习干净的代码实践和原则 学习网络工作原理的基础知识 选择一个 UI 自动化工具开始 了解 HTTP 协议以及如何自动化 API 测试 熟悉数据库基础知识…

React 配置文件(三)配置本地IP地址和端口号

1.在环境变量中配置好对应IP地址和端口号,拿UAT来举例 2.在config-overrides.js中配置域名和端口号 3.在package.json中配置好启动脚本 "scripts": { "start": "react-app-rewired start", "uat": "dotenv -e .env.uat react-app…

Android之蚂蚁森林能量水滴效果

最近公司有个需求&#xff0c;需要一个类似于蚂蚁森林能量水滴浮动效果&#xff0c;所以有了这篇文章&#xff0c;目前在项目里&#xff0c;没时间提出来做demo&#xff0c;有代码欠缺的地方欢迎指出&#xff0c;一定补上。 文章目录一&#xff1a;效果图二&#xff1a;具体实现…

HotPDF Delphi PDF VCL完全形成PDF文档

HotPDF Delphi PDF VCL完全形成PDF文档 HotPDF Delphi PDF&#xff0c;用于创建和创建PDF文档的应用程序名称。您的公司已在您之前发布&#xff0c;以便在Delphi和C中使用。事实上&#xff0c;使用这个库&#xff0c;您将能够以不同的方式编辑、执行、构建和管理PDF文档。如果您…

configmap中data变成字符串问题(k8s踩坑)

发现问题 编写text文件&#xff0c;用于创建要给nginx的configmap&#xff0c;如下&#xff1a; [rootmaster redis]# vim txt apiVersion: v1 kind: ConfigMap metadata:name: nginx-confignamespace: redis data:nginx.conf: |#user nginx;worker_processes 1;#error_log…

【pandas】教程:4-显示数据

Pandas 显示数据 本节使用的数据为 data/air_quality_no2.csv&#xff0c;链接为 pandas案例和教程所使用的数据-机器学习文档类资源-CSDN文库 import pandas as pd import matplotlib.pyplot as pltair_quality pd.read_csv("data/air_quality_no2.csv", index_co…

知物由学 | SO VMP 加壳与混淆,为移动应用提供函数级保护

导读&#xff1a;VMP 是一种用于软件保护的软件&#xff0c;对软件进行加壳&#xff0c;加固厂商都有自己的 VMP 方案&#xff0c;但值得注意的是&#xff0c;native 层的 VMP 方案并不成熟&#xff0c;兼容性只是其中一个影响因素&#xff0c;性能更是导致该方案无法普及的重要…

2022年广西最新建筑八大员(材料员)模拟真题及答案

百分百题库提供建筑八大员&#xff08;材料员&#xff09;考试试题、建筑八大员&#xff08;材料员&#xff09;考试预测题、建筑八大员&#xff08;材料员&#xff09;考试真题、建筑八大员&#xff08;材料员&#xff09;证考试题库等,提供在线做题刷题&#xff0c;在线模拟考…

C++仍然是2023年值得学习的好语言吗?

如今所有学习C的人都不得不面临一个问题&#xff0c;即C已经大大失去了它受欢迎程度。它同时被三种编程语言所取代 - python&#xff0c;Java和JavaScript。这就引出了一个问题&#xff0c;2023年是否还值得学习C&#xff1f; 如果您学习C是为了在IT领域工作&#xff0c;那么学…

系分 - 软件工程

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 系分 - 软件工程 考点摘要 信息/软件系统的生命周期&#xff08;★★&#xff09;软件开发方法&#xff08;★★★&#xff09;软件开发模型&#xff08;★★★★&#xff09;逆向工程&#xff08;★&#xff09…

一步一步改写Observer观察者模式

简单的概述&#xff1a; Observer模式是建立一个一&#xff08;Subject&#xff09;对多&#xff08;Observer&#xff09;的依赖关系&#xff0c;并且做到当“一”变化的时候&#xff0c;依赖这个“一”的多也能够同步自动改变。 Observer的结构&#xff1a; Subject相当于…

H5 拖动排序 美食排行榜

尝试写一下拖动元素进行排序&#xff0c;真是想到什么去写什么 &#x1f602;&#xff0c;有的时候很多人老是跟我说&#xff0c;别人都封装好了&#xff0c;你为什么还要自己去实现一下&#xff0c;写的还没别人好。但我总感觉所有都用别人写好的&#xff0c;就放弃思考的机会…

linux的CPU使用率达到100%的快速定位方式

一.问题现象 Linux服务器&#xff08;操作系统版本是centos7.9&#xff09;上面部署了若干Java站点服务,突然收到运维的CPU异常g告警&#xff0c;到了影响业务的情况发生&#xff0c;经初步排查&#xff0c;未出现异常进程&#xff0c;排除挖矿病毒的原因。 二.排查思路 &am…

[Verilog]Verilog经典电路设计(一)

Verilog经典电路设计&#xff08;一&#xff09; 1.1 8位移位寄存器 module shifter (din , clk, clr, dout) ; input din, clk, clr; output [7:0] dout; reg [7:0] dout_data;always (posedge clk) begin if (!clr) dout_data < 8b0; //同步清 &#xff0c;高电平…

第二证券|美国巨头向欧盟宣战,暴跌25%,芯片大国告急

“暴利税”完全激怒美国动力巨子。 3万亿美国巨子直接将欧盟告上法庭&#xff0c;当地时间12月28日&#xff0c;埃克森美孚公司正式申述欧盟&#xff0c;要求其撤销对石油集团征收的一项新“暴利税”。该公司表明&#xff0c;欧盟方面征收“暴利税”的行为超出了法律权限。别的…

蓝牙学习八(配对与绑定)

1.简介 Paring&#xff08;配对&#xff09;和Bonding&#xff08;绑定&#xff09;是实现蓝牙射频通信安全的一种机制&#xff0c;有两点需要注意&#xff1a; Paring/bonding实现的是蓝牙链路层的安全&#xff0c;对应用层来说是完全透明的。也就是说&#xff0c;不管有没有…

GitHub入门指南(下)

三、新手必备的GitHub基本操作 1.配置SSH Key (1) 第一次使用时&#xff0c;要配置一下账户。 在 Git Bash 客户端&#xff0c;输入&#xff1a; git config --global user.name “这里输入你在GitHub的账户名” git config --global user.email “这里输入你在GitHub的注册邮…

基于51单片机的数字电压表(PCF8591)(Proteus仿真+程序)

编号&#xff1a;32 基于51单片机的数字电压表&#xff08;PCF8591&#xff09; 功能描述&#xff1a; 本设计由51单片机最小系统PCF8591模块四路模拟量输入模块一路DA输出液晶1602显示模块 1、主控制器是89C82单片机。 2、PCF8591模数转换器进行A/D转换&#xff0c;读取四路…

Java中常见的文件操作

作者&#xff1a;~小明学编程 文章专栏&#xff1a;JavaEE 格言&#xff1a;热爱编程的&#xff0c;终将被编程所厚爱。 目录 操作文件 File类 属性 构造方法 常见方法 重要方法的操作演示 文件内容的读写 FileInputStream OutputStream 按照字符读入 按照字符写入…