一:IDEA环境准备
IDEA社区版版本: 2021.1-2022.1.4
IDEA专业版版本: 无要求
🌟如果个人电脑安装的IEDA不在这个范围,需要卸载重新安装;且⼀定要删除注册表
参考文章➜IDEA卸载和删除注册表
二: Maven
(1)Maven的概念
💗Maven是一个项目/软件的管理工具,通过pom.xml文件的配置获取jar包,而不用手动去添加jar包
(2)Maven的作用
🌟简单,方便,提高我们的开发效率,减少我们的开发Bug
💜Maven提供的功能非常多;比如项目构建、管理依赖......
(3)创建Maven项目
①左上角的File➜new➜project
②选择Maven,然后next,接着配置名字和路径,即可完成
③了解不同目录的作用
(1)pom.xml:主要是Maven项目最主要的配置文件
(2)src:主要用来放Java源代码
(3)main:主要放一些业务代码
(4)main/Java:主要用来放Java代码
(5)main/resources:主要用来放一些依赖的资源(图片、音频.....)
(6)test:主要放一些测试代码
(4)Maven核心功能
1.项目构建
💗Maven给我们提供了一套简单的命令来完成项目的构建
🌟点击最右侧的Maven,点开Lifecycle,里面就是Maven提供的命令
💜Maven常用命令
2.管理依赖
①依赖:指当前项目所需要的第三方库、框架等等
②在pom.xml文件中引入对应的依赖即可
(Maven中央仓库里就有大量不同功能的依赖➜Maven中央仓库)
③关于引入依赖的步骤
(1)首先在pom.xml文件中,添加<dependencies></dependencies>标签
(标签里可以放很多依赖)
(2)接着在<dependencies></dependencies>标签里添加所需的依赖
(比如我引入一个mysql的依赖)
(3)点击刷新按钮,引入新加入的依赖
(必须要点击刷新,确保依赖能够出现且生效)
3.依赖传递
💗由于Maven的依赖具有传递性,所以会自动把所依赖的其他jar包也⼀起导入
🌟比如A依赖B,B依赖C,那么引入A的同时,也需要引入B和C
4.依赖排除
①功能:主动断开依赖的资源
(被排除的资源无需指定版本)
②使用原因:随着项目的越来越复杂,库之间的依赖关系也会变得越来越复杂;有些时候我们并不需要用到某种依赖,或者有些依赖版本之间发生了冲突,那我们就断开它
(比如在上图中,如果项目A不需要JarB,也可以通过排除依赖的方式来实现)
③方法:Maven Help插件
(下文详细说到)
(5)Maven Help插件
1.作用
🌟问题:当项目比较复杂时,我们就会有Jar包冲突的问题,这时候就需要去解决依赖冲突;解决冲突之前,需要先找到冲突,那该如何找到冲突?
💗我们可以使用Maven Help插件来观察包和包之间的依赖关系,找到依赖冲突
2.下载
🌟安装插件:
File➜Settings➜Plugins➜搜索Maven Help➜找到对应插件➜点击Install安装
(安装后需要重启下IDEA,才能生效)
3.功能
💗此时pom.xml的底部有个Dependency Analyzer,点击它就可以看到依赖之间的关系
💙(1)Conflicts:依赖冲突
💙(2)All Dependencies as List:以排序方式展示出依赖
💙(3)All Dependencies as Tree:以树型方式展示出依赖
💚通过右键依赖,选择Exclude,即可进行依赖排除
(6)关于坐标和仓库
1.坐标
💗在Maven中,根据groupId、artifactId、version的配置,来唯一识别一个jar包,缺一不可;我们就把类似于下面这段代码称为坐标
2.仓库
①本质:Maven仓库的本质就是一个目录/文件夹,这个目录被用来存储开发中所有依赖,比如jar包、插件等等
②功能:用于存储资源,管理各种jar包
③分类:中央仓库、本地仓库、私服
🌟当我们在pom文件中配置完依赖之后,点击刷新,Maven会根据坐标的配置,去仓库里寻找Jar包,并把它下载下来,添加到项目中
(7)中央仓库
1.概念
💗①Maven软件中内置⼀个远程仓库地址,就是中央仓库
💗②Maven中央仓库服务于整个互联网;由Maven团队维护,全球唯⼀
(中央仓库在国外,本地仓库在本地计算机)
2.地址
中央仓库地址➜中央仓库
(中央仓库里面存放了很多jar包和依赖,我们会在中央仓库去寻找所需的依赖)
3.如何找到所需的依赖
①打开中央仓库地址
②输入要找的jar包或者依赖的关键词
(下图以mysql为例)
③选择依赖或者jar包的版本
④点击版本后往下拉,找到如下图所示页面
(8)本地仓库
1.概念
💗自己本地计算机上的一个目录,用这个目录来存储jar包
(中央仓库在国外,本地仓库在本地计算机)
2.查找
当项目中引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包
(1)如果有,则在项目直接引用
(2)如果没有,则去中央仓库中下载对应的jar包到本地仓库
3.地址
💜本地仓库地址可以通过Maven配置查看
(Local repository就是本地仓库地址)
(9)私服
1.概念
💗一般由公司团队搭建的私有仓库
💗私服属于某个公司或者某个部门,往往需要⼀定权限
2.查找
💜有了私服之后,Maven依赖下载的顺序又发生了变化
🌟当Maven需要下载资源的时候
1. 先从本地仓库获取,本地仓库存在,则直接返回
2. 如果本地仓库没有,就从私服请求,私服存在该资源,就直接返回
3. 如果私服上不存在该资源,则从中央仓库下载,中央仓库不存在,就报错了
4. 如果中央仓库中存在,就先缓存在私服上之后,再缓存到本地仓库里,再为Maven的下载请求提供服务
(10)Maven设置国内源
1.原因
💗因为中央仓库在国外,所以下载起来会比较慢,因此我们选择借助国内⼀些公开的远程仓库来下载资源
2.国内源仓库
🌟 国内源仓库大全地址➜国内源仓库大全
3.配置当前的项目Setting
①找到setting.xml的地址
②此时如果没有setting.xml文件,就直接打开百度云复制里面的setting.xml的到.m2目录下即可
🌟百度云地址➜setting.xml(密码:lzh7)
③此时如果有setting.xml文件,则需要打开settings.xml,在mirrors节点上,添加以下内容
(这里以阿里云为例)
<mirror> <id>aliyunmaven</id> <mirrorOf>central</mirrorOf> <name>阿⾥云公共仓库</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> </mirror>
4.设置新项目的Setting
🌟上述配置的内容,只对当前项目生效,为了让后续新建的项目也生效,需要重新设置⼀下新项目的Settings
三:第一个SpringBoot程序
⭐创建SpringBoot项目常见问题:创建项目常见问题(提取码:lzh7)
(1)了解SpringBoot
🌟SpringBoot是一个框架,我们知道Spring让Java程序更加快速,简单和安全,而SpringBoot则是为了简化Spring程序开发的
💔Servlet:Servlet需要写doGet、doPost等等方法,还需要配置Smart Tomcat
💖SpringBoot:SpringBoot写完后直接通过DemoApplication.java去运行,不需要再配置任何东西
(2)安装SpringBootHelp插件
1.针对版本
①使用社区版IDEA的才需要按安装SpringBootHelper插件
②使用专业版IDEA的不需要安装插件,IDEA已经集成了
2.查找插件并下载
🌟此处不要直接点击Install,直接点击Install,安装的是收费版(土豪请随意)
点击Plugin homepage,进入网页下载插件
(下载的是一个压缩包,但是切记切记不要解压,把它放在你想放的目录下即可)
3.安装插件
①点击上方齿轮形状的设置
②点击Install Plugin from Disk
③选择刚才下载的插件,安装,重启Idea即可
🌟当重启完IEDA之后,就可以看到Spring Initializr and Assistant,如下图所示
(3)创建SpringBoot项目
1.新建项目
File➜New➜Project➜Spring Initializr
2.了解项目
🌟推荐跟我的图选择的一样
①Project properties项目性能
②下图说明
(1)SpringBoot版本:选择任意2.X的且不带SNAPSHOT的,这个版本会随着SpringBoot的升级而发生变化,不固定 (3.X版本使用的是jdk17,不推荐;SNAPSHOT表示不稳定版本)
(2)打勾表示创建项目之初,就引入的第三方依赖,比如框架,插件,组件等
(3)所有引用的第三方框架
(4)修改pom.xml
🌟找到如下图所示的代码,把.RELEASE删掉
(5)运行SpringBoot
🌟找到如下图所示,即可运行SpringBoot
🌟运行成功如下图所示
(6)在SpringBoot写个简单代码
①在src/main/java下,找到com.example.demo的包,在这个包下再创建一个controller包,然后创建一个java文件,取名为HelloController
②在HelloController文件下写以下代码
package com.example.demo.controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @RequestMapping("/sayhi") public String sayHi(){ return "hello,SpringBoot"; } }
③重新运行SpringBoot
④启动网页
⑤代码分析