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环境变量配置是否正确

相关文章:
SpringBoot(Tedu)—DAY01——环境搭建
SpringBoot(Tedu)—DAY01——环境搭建 目录SpringBoot(Tedu)—DAY01——环境搭建零、今日目标一、IDEA2021项目环境搭建1.1 通过 ctrl鼠标滚轮 实现字体大小缩放1.2 自动提示设置 去除大小写匹配1.3 设置参数方法自动提示1.4 设定字符集 要求都使用UTF-8编码1.5 设置自动编译二…...
代理模式-大话设计模式
一、定义 代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 著名的代理模式例子为引用计数(英语…...
STM32定时器的编码器接口模式
MCU为STM32L431,通用定时器框图: 编码器接口模式一共有三种,通过TIMx_SMCR寄存器的SMS[3:0]位来选择。模式1计数器仅在TI1FP1的边沿根据TI2FP2的电平来判断向上/下计数;模式2计数器仅在TI2FP2的边沿根据TI1FP1的电平来判断向上/下…...
Java方法的使用
目录 一、方法的概念及使用 1、什么是方法(method) 2、方法定义 3、方法调用的执行过程 4、实参和形参的关系 二、方法重载 1、为什么需要方法重载 2、方法重载概念 3、方法签名 三、递归 1、递归的概念 2、递归执行过程分析 一、方法的概念及使用 1、什么是方法(met…...
Linux命令·nl
nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!其默认的结果与 cat -n 有点不太一样, nl 可以将行号做比较多的显示设计,包括位数与是否自动补齐 0 等等的功能。 1.命令格式:nl [选项…...
排序模型:DIN、DINE、DSIN
目录 DIN 输入 输出: 与transformer注意力机制的区别与联系: DINE 改善DIN 输入: DSIN 动机: DIN 适用与精排,论文: Deep Interest Network for Click-Through Rate Prediction DIN模型提出的动…...
【C++】Clang-Format:代码自动格式化(看这一篇就够了)
文章目录Clang-format格式化C代码1.引言&安装1.1引言1.2 安装2. 配置字解释2.1 language 编程语言2.2 BaseOnStyle 基础风格2.3 AccessModifierOffset 访问性修饰符偏移2.4 AlignAfterOpenBracket 开括号后的对齐2.5 AlignArrayOfStructures 对齐结构体数组2.6 AlignConsec…...
Linux命令·more
more命令,功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back&…...
为什么 SaaS 公司依靠知识库来做对客户服务?
信不信由你,客户服务是您在软件行业赚钱的核心。不仅仅是拥有出色的产品,不仅仅是拥有出色的营销,更重要的是让人们回到您家门口的客户服务。 这是因为从长远来看,留住现有客户比获得新客户更重要,而留住客户时间更长的…...
后端必备之VUE基础【黑马程序员】
黑马程序员4小时入门VUE传送门 1. 简介 Vue是一个操作JavaScript的框架,类似于jQuery,但比jQuery好用,是现在的主流 2. 测试例子 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /&…...
现代HYUNDAI EDI需求分析
现代集团(HYUNDAI)是韩国一家以建筑、造船、汽车行业为主,兼营钢铁、机械、贸易、运输、水泥生产、冶金、金融、电子工业等几十个行业的综合性企业集团。本文主要介绍HYUNDAI 的EDI需求,带大家快速理清思路,明确EDI项目的推进流程。 通信标准…...
数据库基本功之SQL的基本函数
1. 单行函数与多行函数 1.1 单行函数 指单行数据输入,返回一个值的函数. 所以查询一个表时,对选择的每一行数据都返回一个结果.[oracleoracle-db-19c ~]$ sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Tue Mar 7 07:59:44 2023 Version 19.3.0.0.0Copyri…...
配置主机名与ip的映射关系
本次进行简单的小实验 通过在windows上配置主机名与IP地址的映射关系,达到我们在xshell或其他远程连接设备上,不用IP地址登陆,只需要用主机名就能实现登陆的效果 配置 首先 需要查看自己虚拟机的IP地址,找到ens33或者ens160…...
Spring Cache简单介绍和使用
目录 一、简介 二、使用默认ConcurrentMapManager (一)创建数据库和表 (二)创建boot项目 (三)使用Api 1、EnableCaching 2、CachePut 3、cacheable 4、CacheEvict 三、使用redis作为cache 一、简…...
ECCV 2022|面向精确的主动相机定位算法
标题:ECCV 2022,山东大学、北大、腾讯AILab、斯坦福和三维家联合提出,面向精确的主动相机定位算法项目地址:https://github.com/qhFang/AccurateACL.文章:Towards Accurate Active Camera Localization(ECCV 2022&…...
web实现环形旋转、圆形、弧形、querySelectorAll、querySelector、clientWidth、sin、cos、PI
文章目录1、HTML部分2、css部分3、JavaScript部分4、微信小程序演示1、HTML部分 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge">&l…...
PyCharm+Python+Selenium自动化测试动态验证码识别
driver.find_element(byBy.ID,valueUSERID).send_keys("admin")driver.find_element(byBy.ID,valuePASSWORD_VIEW).send_keys("123456")#ocr识别原理:先根据验证码的class dl_yzm定位到验证码图片,然后将验证码截图保存,…...
git版本回退简单记录
简单记录git版本回退的命令,参考的是这篇文章1 首先查看以前存档的版本: git log1. 知道要回退的版本和现在的版本差了多少代 回退上一代版本(1个以前) git reset –hard HEAD^回退上上一代版本(2个以前࿰…...
QT入门Display Widgets之QLine、QLcdNumber、QTextBrowser
目录 一、QLine界面相关 1、布局介绍 2、界面基本属性 二、QLCDNumber的介绍 1、界面布局 2、定时器代码测试 三、QTextBrowser 此文为作者原创,创作不易,转载请标明出处! 一、QLine界面相关 1、布局介绍 先看下界面中创建个Q…...
Spring学习笔记
目录1 IOC容器1.1 概念1.2 IOC的底层原理1.3 Spring中IOC容器的两种实现方式(两个接口)1.3.1 BeanFactory接口1.3.2 ApplicationContext接口1.3.3 为什么开发中使用ApplicationContext接口1.3.4 ApplicationContext接口的两个实现类1.4 IOC操作之bean管理1.4.0 bean是什么&…...
Qwen3-0.6B-FP8入门必看:6亿参数如何做到≤2GB显存?FP8量化压缩深度解析
Qwen3-0.6B-FP8入门必看:6亿参数如何做到≤2GB显存?FP8量化压缩深度解析 你是不是也遇到过这种情况:想在自己的电脑上跑个大模型试试,结果一看显存要求,动辄十几GB,直接劝退?或者好不容易找到一…...
从松到深:解析组合导航三大模式的演进路径与实战选型
1. 组合导航的底层逻辑与技术演进 第一次接触组合导航系统时,我被这个看似简单的概念惊艳到了——把两种完全不同的定位技术融合在一起,竟然能产生11>2的效果。这就像做菜时的黄金搭档,比如西红柿和鸡蛋单独吃都不错,但炒在一起…...
[技术突破]M9A:构建《重返未来:1999》智能自动化解决方案
[技术突破]M9A:构建《重返未来:1999》智能自动化解决方案 【免费下载链接】M9A 1999 小助手 项目地址: https://gitcode.com/gh_mirrors/m9/M9A 实现游戏体验革新的技术价值 M9A作为专为《重返未来:1999》设计的智能自动化工具&#…...
Degrees of Lewdity中文本地化版本完全指南:从安装到精通
Degrees of Lewdity中文本地化版本完全指南:从安装到精通 【免费下载链接】Degrees-of-Lewdity-Chinese-Localization Degrees of Lewdity 游戏的授权中文社区本地化版本 项目地址: https://gitcode.com/gh_mirrors/de/Degrees-of-Lewdity-Chinese-Localization …...
如何在日常渗透中实现通杀漏洞挖掘
如何在日常渗透中实现通杀漏洞挖掘 你是不是天天遇到了edu刷屏?看到了某些漏洞平台,某些人交了一千个公益漏洞?是不是觉得很牛逼?其实不然,都不难,其实如果我要是想刷这玩意,可以交不完的漏洞&a…...
机械臂+点云相机实战:手眼标定全流程避坑指南(附PCL库代码)
机械臂与点云相机手眼标定实战:从原理到代码的完整避坑指南 在工业自动化与机器人应用领域,机械臂与3D视觉系统的协同作业已成为提升生产灵活性和智能化的关键技术。其中,手眼标定作为连接机械臂运动学与视觉感知的桥梁,其精度直接…...
BoneAnimCopy: 跨模型骨骼动画复用解决方案,提升10倍效率的动画师实践指南
BoneAnimCopy: 跨模型骨骼动画复用解决方案,提升10倍效率的动画师实践指南 【免费下载链接】blender_BoneAnimCopy 用于在blender中桥接骨骼动画的插件 项目地址: https://gitcode.com/gh_mirrors/bl/blender_BoneAnimCopy 在3D动画制作领域,动画…...
Python办公自动化:用PyMuPDF+pdfplumber一键提取PDF文字/图片/表格(附完整代码)
Python办公自动化实战:PyMuPDF与pdfplumber高效提取PDF三要素 每天面对堆积如山的PDF文档,行政和财务人员最头疼的莫过于手动复制粘贴文字、截图保存图片、重新绘制表格。我曾见过一位财务同事为了处理200份供应商报价单,连续加班一周手工录入…...
LeetCode 1423. 可获得的最大点数【定长滑窗,逆向和正向思维】1574
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
MiniCPM-o-4.5-nvidia-FlagOS与ChatGPT对比评测:代码生成与逻辑推理
MiniCPM-o-4.5-nvidia-FlagOS与ChatGPT对比评测:代码生成与逻辑推理 最近在开发者圈子里,关于开源大模型和闭源大模型谁更强的讨论一直没停过。特别是涉及到代码生成和逻辑推理这种硬核任务,大家心里都有一杆秤。今天,我们就拿一…...
