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 设置自动编…...
springboot整合redis
1.redis的数据类型,一共有5种.后面结合Jedis和redistemplate,以及单元测试junit一起验证 1)字符串 2)hash 3)列表 4)set(无序集合) 5)zset(有序集合) 2.Jedis的使用 a)引入依赖 <!--加入springboot的starter的起步依赖--><dependency><groupId>…...
【Java】Spring Boot下的MVC
文章目录Spring MVC程序开发1. 什么是Spring MVC?1.1 MVC定义1.2 MVC 和 Spring MVC 的关系2. 为什么学习Spring MVC?3. 怎么学习Spring MVC?3.1 Spring MVC的创建和连接3.1.1 创建Spring MVC项目3.1.2 RequestMapping 注解介绍3.1.3 Request…...
【项目精选】 塞北村镇旅游网站设计(视频+论文+源码)
点击下载源码 摘要 城市旅游产业的日新月异影响着村镇旅游产业的发展变化。网络、电子科技的迅猛前进同样牵动着旅游产业的快速成长。随着人们消费理念的不断发展变化,越来越多的人开始注意精神文明的追求,而不仅仅只是在意物质消费的提高。塞北村镇旅游…...
十、Spring IoC注解式开发
1 声明Bean的注解 负责声明Bean的注解,常见的包括四个: ComponentControllerServiceRepository Controller、Service、Repository这三个注解都是Component注解的别名。 也就是说:这四个注解的功能都一样。用哪个都可以。 只是为了增强程序…...
Linux系统GPIO应用编程
目录应用层如何操控GPIOGPIO 应用编程之输出GPIO 应用编程之输入GPIO 应用编程之中断在开发板上测试GPIO 输出测试GPIO 输入测试GPIO 中断测试本章介绍应用层如何控制GPIO,譬如控制GPIO 输出高电平、或输出低电平。应用层如何操控GPIO 与LED 设备一样,G…...
手敲Mybatis-反射工具天花板
历时漫长的岁月,终于鼓起勇气继续研究Mybatis的反射工具类们,简直就是把反射玩出花,但是理解起来还是很有难度的,涉及的内容代码也颇多,所以花费时间也比较浩大,不过当了解套路每个类的功能也好,…...
Java -数据结构,【优先级队列 / 堆】
一、二叉树的顺序存储 在前面我们已经讲了二叉树的链式存储,就是一棵树的左孩子和右孩子 而现在讲的是:顺序存储一棵二叉树。 1.1、存储方式 使用数组保存二叉树结构,方式即将二叉树用层序遍历方式放入数组中。 一般只适合表示完全二叉树&a…...
Python+Qt指纹录入识别考勤系统
PythonQt指纹录入识别考勤系统如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助!前言这篇博客针对<<PythonQt指纹录入识别考勤系统>>编写代码,代码整洁,规则,易读。 学…...
K_A14_004 基于STM32等单片机驱动旋转角度传感器模块 串口与OLED0.96双显示
K_A14_004 基于STM32等单片机驱动旋转角度传感器模块 串口与OLED0.96双显示一、资源说明二、基本参数参数引脚说明三、驱动说明IIC地址/采集通道选择/时序对应程序:四、部分代码说明1、接线引脚定义1.1、STC89C52RC旋转角度传感器模块1.2、STM32F103C8T6旋转角度传感器模块五、…...
2023年全国最新机动车签字授权人精选真题及答案12
百分百题库提供机动车签字授权人考试试题、机动车签字授权人考试预测题、机动车签字授权人考试真题、机动车签字授权人证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 11.注册登记前所有机动车都应进行安全技术检验。 答案…...
Linux小黑板(10):信号
我们写在linux系统环境下写一个程序,唔,"它的功能是每隔1s向屏幕打印hello world。"这时,我们在键盘上按出"Ctrl C"后,进程会发生什么??我们清晰地看到,进程已经在我们按出"Ctrl…...
GO 语言基础语法一 (快速入门 Go 语言)
Go语言基础语法一. golang 标识符,关键字,命名规则二. golang 变量三. golang 常量四. golang 数据类型五. golang 布尔类型六. golang 数字类型七. golang 字符串1. go语言字符串字面量2. go语言字符串连接(1). 使用加号(2). 使用 fmt.Sprintf() 函数(3…...
Java高效率复习-SpringMVC[SpringMVC-2]
SpringMVC获取请求参数 SpringMVC获取请求参数的两种方式↓ 通过ServletAPI获取请求参数 将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象 通过request的API——getParameter(String s)方法来获取…...
【前端】一个更底层库-React基础知识点
目录Reat是什么?为什么要使用React类库比较容易学习,API非常少。组件内聚,容易组合原生组件和自定义组件融合渲染状态/属性驱动全局更新commonjs生态圈/工具栏完善React基础知识JSX概述JSX嵌入变量Event事件组合组合CHILDREN总结大家好&#…...
C++ 之枚举类型
文章目录参考描述枚举类型枚举类型枚举变量的声明及定义细节枚举常量的默认初始值枚举常量不可被修改赋值运算枚举常量与数据类型为枚举常量指定数据类型可选择的数据类型特殊的 Bool强枚举类型命名冲突强枚举类型参考 项目描述菜鸟教程C 枚举类型详解精通C (第九版…...
软件测试用例(3)
按照测试对象划分: 一)界面测试: 1)软件只是一种工具,软件和人的信息交流是通过界面来进行的,界面是软件和用户交流的最直接的一层,界面的设计决定了用户对于我们设计软件的第一映像,界面如同人的面孔,具有最吸引用户的…...
Spring——Bean管理-注解方式进行属性注入
Spring针对Bean管理中创建对象提供的注解有哪些?Component:普通Service:业务逻辑层Controller:controller层Repository:dao层用注解的方式是为什么?简化xml方式开发,只需要注解就可以完成在配置…...
【设计模式之美 设计原则与思想:设计原则】20 | 理论六:我为何说KISS、YAGNI原则看似简单,却经常被用错?
上几节课中,我们学习了经典的 SOLID 原则。今天,我们讲两个设计原则:KISS 原则和 YAGNI 原则。其中,KISS 原则比较经典,耳熟能详,但 YAGNI 你可能没怎么听过,不过它理解起来也不难。 理解这两个…...
Java代码弱点与修复之——Copy-paste error(复制粘贴错误)
弱点描述 Copy-paste error,复制粘贴错误。 是指在复制和粘贴代码时产生的错误。这种错误通常是由于程序员在复制代码时未正确编辑所复制的代码或编辑复制后的代码时忘记更改一些值或参数而导致的。复制粘贴错误可能会导致程序逻辑错误、编译错误或运行时错误。 示例代码 …...
《Moltbot 终极实操手册:从自托管架构到生产级 AI Agent》
《Moltbot 终极实操手册:从自托管架构到生产级 AI Agent》 第一部分:定义与架构篇 —— 深度理解 Moltbot 第 1 章:AI 助手的新形态:Moltbot 概览 1.1 什么是 Moltbot?(从核心定义到原名 Clawdbot 的演变) 1.2 核心愿景:打破 AI 沙箱,实现系统级控制与隐私自主。 1.…...
成为数据科学家之路,第一部分:数学
原文:towardsdatascience.com/roadmap-to-becoming-a-data-scientist-part-1-maths-2dc9beb69b27 https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/492ae0fb35397ff6690bc9518f937530.png 简介 数据科学无疑是当今最迷人的领域…...
Python依赖包安装失败?一招搞定Microsoft Visual C++缺失问题
1. 为什么Python安装依赖包会提示缺少Microsoft Visual C? 这个问题困扰过无数Python开发者。当你兴致勃勃地敲下pip install xxx,结果却看到红色报错提示"Microsoft Visual C 14.0 or greater is required",那种感觉就像开车时突然…...
AI 模型调度平台的系统架构
AI模型调度平台的系统架构:智能时代的核心引擎 在人工智能技术飞速发展的今天,AI模型调度平台成为企业实现智能化转型的关键基础设施。它通过高效管理、调度和优化AI模型资源,帮助用户快速部署和运行复杂的AI任务。本文将深入解析AI模型调度…...
手把手教你用FPGA实现SGMII接口:从IP核配置到板级调试全流程
手把手教你用FPGA实现SGMII接口:从IP核配置到板级调试全流程 在当今高速网络设备开发中,SGMII(Serial Gigabit Media Independent Interface)因其引脚精简、抗干扰强等优势,已成为FPGA与PHY芯片间千兆通信的首选方案。…...
如何用开源工具实现专业级图像修复与纹理合成?揭秘GIMP Resynthesizer的技术奥秘
如何用开源工具实现专业级图像修复与纹理合成?揭秘GIMP Resynthesizer的技术奥秘 【免费下载链接】resynthesizer Suite of gimp plugins for texture synthesis 项目地址: https://gitcode.com/gh_mirrors/re/resynthesizer 在数字图像处理领域,…...
遗传算法求解分布式柔性作业车间调度问题的Matlab代码:多工厂约束下最小化最大完工时间,采用...
遗传算法求解分布式柔性作业车间调度问题 Matlab代码考虑多工厂约束,以最小化最大完工时间为目标函数,使用ipox、ux两种交叉方式,交换变异邻域。 可选择测试算例。车间里机器轰鸣声不断,老王盯着墙上五颜六色的生产进度表直挠头。…...
Go语言中的字符串处理
Go语言中的字符串处理 1. 字符串的基本概念 在Go语言中,字符串是一种不可变的字节序列,使用UTF-8编码。字符串的类型为string,是Go语言的基本类型之一。 package mainimport "fmt"func main() {// 字符串字面量s1 : "Hello, W…...
解决Ubuntu中libc6-dev:i386依赖问题的完整指南
1. 理解libc6-dev:i386依赖问题的本质 当你正在愉快地使用Ubuntu系统,突然在执行sudo apt-get upgrade时遇到一堆红色错误提示,特别是看到"libc6-dev:i386 : 依赖: libc6:i386 ( 2.31-0ubuntu9.14) 但无法安装它"这样的报错,是不是…...
一款实用汉化工具快速安装使用指南 -- cheat-engine中文版安装教程入口
文章目录安装方式安装后在哪里找到?(重点补全)使用说明温馨提示首先呢,大家可能在用 cheat engine (CE修改器)的时候呢,可能总是使用的是英文版,用的不太舒服啊,这个时候呢ÿ…...
