【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即可
参考链接:

浙公网安备 33010602011771号