前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >兵马未动,粮草先行——spring码前准备

兵马未动,粮草先行——spring码前准备

作者头像
愿天堂没有BUG
发布2022-10-28 11:09:41
2750
发布2022-10-28 11:09:41
举报
文章被收录于专栏:愿天堂没有BUG(公众号同名)

兵马未动,粮草先行。在行军打仗之前,军队需要提前准备好粮草。同样地,在写代码之前,我们需要准备好软件环境及工具,做好码前准备。

软件环境

我们需要用到的主要软件及版本如下。

· 系统:Windows 10

· JDK: JDK 1.8

· IDE: Intellij IDEA 2020

· 构建工具:Maven 3.6.3

· Spring Boot: Spring Boot 2.5.6

· MySQL:MySQL 8.0及以上

以上是本书推荐的主要软件及版本,如果你是初学者,那么建议你采用与本书一致的软件及版本;如果你是比较有经验的开发者,那么可以根据自己的喜好来选择

大管家Maven

本书选择Maven作为Jar包管理及构建工具。原因很简单,它拥有领先的市场份额。图2-1展示了来自《2020 JVM生态报告》的数据。

pom文件

POM(Project Object Model,项目对象模型)是我们使用Maven的核心。pom文件使用XML语言编写,定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等。pom文件示例

以上是一个pom文件示例,接下来我们一起学习几个常用的概念。

常用概念

坐标

坐标是Maven中非常重要的概念。我们在初中数学里就已经学习过这个概念,例如:(0,7)代表Y轴上距离原点7个单位的一个点。而我们在地理课里也 学 习 过 由 经 / 纬 度 组 成 的 坐 标 , 例 如 : ( 东 经 116°23'51" , 北 纬39°54'31")是天安门的坐标。那么Maven中的坐标是什么样子的呢?Maven中的坐标由以下3部分构成:

· groupId

· artifactId

· version

groupId代表组信息,通常是公司或者组织;artifactId是项目在组内的唯一标识;version就很简单了,代表项目的版本。我们通过一个具体示例来进一步理解

上面这个坐标代表Spring的Web模块,其版本为5.2.10.RELEASE。在Java中,可以说“万物皆对象”,而在Maven中,则可以说“万物皆坐标”。一切Jar包或pom文件都可以用一个唯一的坐标来标识。

依赖

我们可以通过坐标来声明一个Jar包或pom文件(War包不能被引用,这里不讨论),还可以通过坐标来引用其他的Jar包或pom文件。依赖管理是Maven最 重 要 的 功 能 之 一 , 项 目 依 赖 的 所 有 Jar 都 需 要 通 过 如 下 格 式 放 到<dependencies>标签下:

继承

Maven中的继承和Java中的继承类似,都通过<parent>标签来标明继承关系。继承后,子工程会将父工程的相关特性应用到子工程中。例如:

构建

构建(Build),也就是我们所说的编译打包的过程,是Maven另外一个重要的功能,用于将我们的工程打成Jar包或War包。Maven是通过集成插件的方式来实现构建功能的,可以根据不同的构建需求选择不同的插件。在Spring Boot项目中,默认使用spring-boot-mavenplugin插件进行构建,因为Spring Boot需要将工程打包成可执行的Jar文件,所以需要使用自己定制的构建插件。例如:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 愿天堂没有BUG 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档