当前位置: 首页 > news >正文

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.1ID1.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环境变量配置是否正确
在这里插入图片描述

http://www.lryc.cn/news/32649.html

相关文章:

  • 代理模式-大话设计模式
  • STM32定时器的编码器接口模式
  • Java方法的使用
  • Linux命令·nl
  • 排序模型:DIN、DINE、DSIN
  • 【C++】Clang-Format:代码自动格式化(看这一篇就够了)
  • Linux命令·more
  • 为什么 SaaS 公司依靠知识库来做对客户服务?
  • 后端必备之VUE基础【黑马程序员】
  • 现代HYUNDAI EDI需求分析
  • 数据库基本功之SQL的基本函数
  • 配置主机名与ip的映射关系
  • Spring Cache简单介绍和使用
  • ECCV 2022|面向精确的主动相机定位算法
  • web实现环形旋转、圆形、弧形、querySelectorAll、querySelector、clientWidth、sin、cos、PI
  • PyCharm+Python+Selenium自动化测试动态验证码识别
  • git版本回退简单记录
  • QT入门Display Widgets之QLine、QLcdNumber、QTextBrowser
  • Spring学习笔记
  • 数据的标准化处理
  • 性能优化|记一次线上OOM问题处理
  • Vue动态粒子特效插件(背景线条吸附动画)
  • 【Java 类】002-类、属性、方法、代码块
  • Ubuntu Linux 编译安装的基本步骤
  • day59反刍笔记
  • 【阅读笔记】你不知道的Javascript--强制类型转换4
  • 华为OD机试真题Python实现【有效子字符串】真题+解题思路+代码(20222023)
  • 上门按摩预约APP源码-东郊到家源码(开发,PHP,平台搭建)
  • STL讲解——模拟实现vector
  • 各种经典排序算法介绍及实现源码