【Springboot学习】从零开始学习Springboot(一)

  个人学习Springboot的记录,一些坑问题我会整合起来并给出解决方法,遇到问题的地方将使用Q1:<问题描述> Q2:<问题描述>这样的序号来表示,根据序号去文章下面找解决方法即可。

 

使用Idea初始化Springboot项目

PS: Idea开发Springboot项目需要联网

步骤:一个项目中File->Project Structure->Add(加号,用来新建一个模块)->Spring InitializrQ1:找不到Spring Initializr ->Next->填完工程属性

Group Id、Artifact Id、Version、Package name都是自定义的,我是练习就随便写了,Java version要选择你需要的版本,如果电脑不支持那需要去装相应的版本。->选择需要使用的Springboot版本,也可以用默认的,再选择相应的依赖。->Next->Next->OK。

这样一个Springboot项目就创建完成。

构件:

在maven中,任何一个依赖、插件或者项目构建的输出,都可以称为构件。

Maven坐标:

Maven通过构件的坐标去唯一定位查找,也就是说,在Maven仓库中是通过坐标标记来一一对应的管理每个构件的。

一个完整的Maven坐标信息,应该是由groupId、artifactId、version、packaging、classifier组成的。

一个简单的坐标定义
<groupId>org.SpringFramework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.7RELEASE</version>
<packaging>jar</packaging>

groupId: 定义当前maven项目从属的实际项目。

    • maven项目和实际项目不一定实际对应。
    • groupId不应以同开发项目的公司或组织对应。
    • groupId的表述方式同Java包名的表述方式类似,通常与域名反向一一对应。

artifactId: 定义实际项目中的一个maven项目(实际项目中的模块)。

    • 推荐命名方式为:实际项目名称-模块名称。

version: 定义maven当前所处的版本。

packaging: 定义maven项目的打包方式。

    • 打包方式通常与所生成的构件文件的扩展名对应,比如:.jar、.ear、.war、.pom等。打包方式是与工程构建的生命周期相对应的。packaging可以不指定,这时maven就会默认打包为jar。

classifier: 定义构建的附属构件

    • 主构件的每个附属构件也定义了唯一坐标。
    • 不能直接定义一个maven项目的classifier,因为附属构件不是由maven项目构建的时候直接默认生成的,而是由附加的其他插件生成的。

groupId、artifactId、version是必须的,packaging是可选的,默认为jar,而classifier是不能直接定义的。

maven项目的构件文件名与坐标也是有对应关系的,一般规则是artifactId-version[classifier].packaging。

 

Parent:

  • 所有Springboot都要继承的项目,定义了若干个坐标版本号(依赖管理,而非依赖),以达到减少依赖冲突的目的。
  • spring-boot-starter-parent各版本间存在着诸多坐标版本不同。

Starter:

  • Springboot中常见项目名称,定义了当前项目使用的所有依赖坐标,以达到减少依赖配置的目的。

 

问题解答:

Q1: File->Setting->Plugins->Marketplace->搜索: "Spring Initializr and Assistant"->Install->OK, 然后重启Idea即可

参考链接:

posted @ 2022-05-05 19:09  Texley  阅读(173)  评论(0)    收藏  举报