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是什么&…...
果园灌溉施肥控制系统改造之西门子 S7 - 1200 PLC 实战
果园灌溉施肥控制系统改3 西门子s7-1200plc程序博途v16,带 选型表 io表接线图CAD和运行效果视频最近搞了个果园灌溉施肥控制系统的改造项目,用的是西门子 S7 - 1200 PLC,编程软件是博途 V16,这过程还挺有意思,跟大家…...
UCF-SST-CitySim数据集:面向智能交通研究的高精度轨迹数据解决方案
UCF-SST-CitySim数据集:面向智能交通研究的高精度轨迹数据解决方案 【免费下载链接】UCF-SST-CitySim1-Dataset 项目地址: https://gitcode.com/gh_mirrors/ucf/UCF-SST-CitySim-Dataset 如何解决复杂道路场景的数据缺失问题?——CitySim的价值定…...
开源项目主题系统的3大核心机制深度解析:从CSS变量到动态切换的完整实现方案
开源项目主题系统的3大核心机制深度解析:从CSS变量到动态切换的完整实现方案 【免费下载链接】vue-vben-admin vbenjs/vue-vben-admin: 是一个基于 Vue.js 和 Element UI 的后台管理系统,支持多种数据源和插件扩展。该项目提供了一个完整的后台管理系统&…...
智能视觉自动化革命:Midscene如何让AI成为你的界面操作员
智能视觉自动化革命:Midscene如何让AI成为你的界面操作员 【免费下载链接】midscene Let AI be your browser operator. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 你是否曾幻想过用自然语言就能控制浏览器、手机应用甚至桌面软件&#x…...
CosyVoice Docker Compose 中 model_id 的高效配置与优化实践
最近在部署 CosyVoice 语音服务时,我发现 docker-compose.yml 文件里的 model_id 配置项,虽然看起来只是简单的一行,但配置得当与否,直接关系到整个服务的部署效率、启动速度和资源开销。如果随便填一个值,或者不理解其…...
企业级React UI组件库实战指南:Element React深度解析与最佳实践
企业级React UI组件库实战指南:Element React深度解析与最佳实践 【免费下载链接】element-react Element UI 项目地址: https://gitcode.com/gh_mirrors/el/element-react Element React作为一款专业的企业级React UI组件库,为现代前端开发提供了…...
pyNastran:打破工程仿真壁垒的开源Python解决方案
pyNastran:打破工程仿真壁垒的开源Python解决方案 【免费下载链接】pyNastran A Python-based interface tool for Nastrans file formats 项目地址: https://gitcode.com/gh_mirrors/py/pyNastran 在航空航天、汽车制造等高端制造领域,有限元分析…...
七年之痒:从零复现MaskRCNN的踩坑与重生指南
1. 为什么2024年还要复现MaskRCNN? 七年前第一次看到MaskRCNN的物体检测效果时,那种震撼感至今难忘。作为首个实现实例分割的经典网络,它在COCO数据集上展现的精准边界识别能力,让当时还在用Faster R-CNN的我们直呼"魔法&quo…...
【BoClaw教程03】BoClaw实战:打工人常用技能
博云BoClaw官方教程系列(三)本教程聚焦打工人日常办公高频需求,详细讲解 BoClaw 在桌面整理、文档检索、PPT 制作、简历筛选、销售报表处理五大场景的实操方法、操作要点及避坑技巧,助力高效提升办公效率。1.桌面整理:…...
避坑指南:CentOS7部署LibreNMS常见错误及解决方案
CentOS7部署LibreNMS避坑实战:从SELinux到数据库权限的深度排错指南 对于网络监控系统的部署,LibreNMS以其开源特性和强大功能成为众多技术团队的首选。但在CentOS7环境下,从系统配置到服务调优的每个环节都可能成为阻碍顺利部署的暗礁。本文…...
