SpringBoot(Tedu)—DAY01——环境搭建
SpringBoot(Tedu)—DAY01——环境搭建
目录
- SpringBoot(Tedu)—DAY01——环境搭建
- 零、今日目标
- 一、IDEA2021项目环境搭建
- 1.1 通过 ctrl+鼠标滚轮 实现字体大小缩放
- 1.2 自动提示设置 去除大小写匹配
- 1.3 设置参数方法自动提示
- 1.4 设定字符集 要求都使用UTF-8编码
- 1.5 设置自动编译
- 二、创建一个Module为SpringBoot项目
- 可能出现的报错
- 三、扩展知识
- 3.1 扩展知识-maven中jar包依赖传递性
- 3.1.1 问题: 如何实现jar包依赖传递性的?
- 3.1.2 答案综述:
- 3.1.3 实现步骤:
- 3.1.3.1 根据坐标查找本地仓库的jar包文件
- 3.1.3.2 查找jar包文件之后,查找xxx.pom,之后查找依赖项
- 3.1.3.3 之后根据新的坐标查找jar包文件,之后再次根据pom进行依赖循环往复 直至所有的依赖项全部加载.
- 3.2 如何保证下载的包是安全的?——SHA1算法
- 3.2.1 SHA1介绍
- 3.2.2 Hash相关知识说明
- 3.2.2.1 问题1: 如果对相同数据,采用相同的hash算法,问:结果是否相同?
- 3.2.2.2 问题2: 如果对不同数据,采用相同的hash算法,结果是否相同 ?
- 3.2.2.3 知识点: Hash碰撞
- 3.2.2.4 关于数据传输的安全性说明
- 四、关于pom.xml文件说明
- 五、关于maven常用指令
- 5.1 clean指令
- 5.2 compile指令
- 5.3 install指令
- 六、项目发布命令
零、今日目标
- IDEA2021项目环境搭建
- Maven环境配置
- SpringBoot 案例回顾
一、IDEA2021项目环境搭建
1.1 通过 ctrl+鼠标滚轮 实现字体大小缩放
1.2 自动提示设置 去除大小写匹配
1.3 设置参数方法自动提示
设置之后,方法有参数提示
1.4 设定字符集 要求都使用UTF-8编码
1.5 设置自动编译
如果没有编译好,怎么办?
可以点击Build,然后点击Build Project。成功率在50%
Build如果不成功,则用Maven clean
二、创建一个Module为SpringBoot项目
创建项目配置
配置阿里云地址:https://start.aliyun.com
勾选jar包
说明: 其中选择web包 表示添加spring/springmvc等jar包文件
如果启动没有问题 则如图所示:
可能出现的报错
pom.xml文件jar包报错(比较常见的问题)
注意事项: 使用maven下载jar包文件时,尽量不要使用手机热点(除非特殊情况)
前提条件: 必须正确配置maven环境/配置私服镜像
关于依赖项的说明:
<!--具体的某个依赖1.依赖的构成要素3项 称之为 "坐标"1.1 组ID1.2 项目名1.3 版本号2.坐标和本地仓库什么关系?根据坐标去本地仓库中,查找jar包文件3.如果依赖项报错了,则第一时间检查本地仓库中的jar包是否正确!!!--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- <version>2.3.7</version>--></dependency>
解决方案:
根据坐标的位置,查找本地仓库的jar包是否正确,如果下载有误则删除之后,重新刷新
删除以下内容
三、扩展知识
3.1 扩展知识-maven中jar包依赖传递性
说明: Maven中jar包添加是有依赖的传递性.
A.jar 依赖 B.jar包.
B.jar包 依赖 C.jar包.
如果导入A.jar则 ABC都会动态导入.
3.1.1 问题: 如何实现jar包依赖传递性的?
3.1.2 答案综述:
通过gav坐标,去本地仓库找到jar包对应的XXX.pom文件。在根据pom文件中的dependency依赖的gav坐标去本地仓库找jar包对应的XXX.pom文件···依次循环往复
案例:导入Junit的依赖
点击Maven->Dependencies 发现junit4.12需要依赖harmcrest
3.1.3 实现步骤:
3.1.3.1 根据坐标查找本地仓库的jar包文件
3.1.3.2 查找jar包文件之后,查找xxx.pom,之后查找依赖项
3.1.3.3 之后根据新的坐标查找jar包文件,之后再次根据pom进行依赖循环往复 直至所有的依赖项全部加载.
3.2 如何保证下载的包是安全的?——SHA1算法
3.2.1 SHA1介绍
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
3.2.2 Hash相关知识说明
3.2.2.1 问题1: 如果对相同数据,采用相同的hash算法,问:结果是否相同?
A.相同 B.不相同 C.可能相同
答案:A 相同
3.2.2.2 问题2: 如果对不同数据,采用相同的hash算法,结果是否相同 ?
A.相同 B.不相同 C.可能相同
答案:C 可能相同
3.2.2.3 知识点: Hash碰撞
1.不同的数据,经过相同的hash算法,得到了相同的结果.称之为hash碰撞.
2.hash碰撞问题,在数学界是没有办法规避的!!!
3.2.2.4 关于数据传输的安全性说明
四、关于pom.xml文件说明
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><!--1.指定当前项目的坐标--><groupId>com.jt</groupId><artifactId>spring_demo1</artifactId><version>0.0.1-SNAPSHOT</version><name>spring_demo1</name><description>spring_demo1</description><!--2.maven项目的配置信息,指定字符集和版本--><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.3.7.RELEASE</spring-boot.version></properties><!--3.依赖项--><dependencies><!--具体的某个依赖1.依赖的构成要素3项 称之为 "坐标"1.1 组ID1.2 项目名1.3 版本号2.坐标和本地仓库什么关系?根据坐标去本地仓库中,查找jar包文件3.如果依赖项报错了,则第一时间检查本地仓库中的jar包是否正确!!!--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope><exclusions><exclusion><groupId>org.junit.vintage</groupId><artifactId>junit-vintage-engine</artifactId></exclusion></exclusions></dependency></dependencies><!--4.依赖的管理器: 指定相关的依赖的版本信息 --><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><!--5.build标签注意事项1.build中的插件缺一不可.2.mainClass中的路径必须与主启动类一致.3.如果以后粘贴复制代码,只复制dependencies内容即可.--><build><plugins><!--maven工具负责编译当前的项目--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><!--springboot项目依赖maven的必要工具--><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.7.RELEASE</version><configuration><mainClass>com.jt.SpringDemo1Application</mainClass></configuration><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build>
</project>
五、关于maven常用指令
5.1 clean指令
说明: clean可以删除项目中的target目录. target目录包含了xxx.java 编译之后的所有xxx.class文件.
5.2 compile指令
说明: 将项目中的xxx.java文件编译为xxx.class文件,由maven工具完成.
5.3 install指令
说明: 将开发完成的项目打包部署 将项目形成xxx.jar包文件.
作用:
1.如果开发的是工具API/框架打成jar包. 之后其他的用户通过依赖关系可以使用该jar包.
2.可以将项目打成jar包直接部署,用户可以通过网址直接访问.
存储位置:
1.target目录下 会有jar包文件
2. 根据maven坐标,会在本地仓库中生成jar包.
六、项目发布命令
说明: 未来项目的发布环境都是Linux系统(纯dos命令)
命令: java -jar xxxxx.jar 回车
关闭命令: ctrl + c
关于启动报错说明: 如果执行上述操作报错,第一时间检查JDK环境变量配置是否正确