SpringBoot(Tedu)—DAY01——环境搭建

news2024/11/13 11:42:17

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 组ID
            1.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.1ID
            1.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.coloradmin.cn/o/393545.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

controller-runtime搭建operator开发环境

目录 基本结构 注入CRD 基本结构 首先下载相应的go pkg go get -u sigs.k8s.io/controller-runtime 接下来需要创建控制器和Manager Operator的本质是一个可重入的队列编程模式&#xff0c;而Manager可以用来管理Controller、Admission Webhook&#xff0c;包括访问资源对…

MATLAB算法实战应用案例精讲-【优化算法】樽海鞘群算法(SSA)及其算法变种(附matlab代码实现)

目录 前言 算法原理 算法思想 数学模型 &#xff08;1&#xff09;种群初始化 &#xff08;2&#xff09;领导者位置更新 &#xff08;3&#xff09;跟随者位置更新 代码实现 算法流程图 算法步骤 伪代码 SSA伪代码 MSSA伪代码 面向全局搜索的自适应领导者樽海鞘群算…

同模块设置不同应用主题方案

有时候公司内部会有不同应用但是有部分模块功能一样&#xff0c;只根据应用角色有些细节逻辑区分的场景。这时候往往采用模块化采用以应用至不同的APP。如果APP主题不一致&#xff0c;该如果解决。 方案&#xff1a; 在不同应用的config.gradle 下面根据不同应用定义不同的a…

基于SSM+SpringBoot《CRM客户关系管理系统》实战开发教程(附文档及源码)

1.项目简介 客户关系管理&#xff08;Customer Relationship Management&#xff0c;简称CRM&#xff09;&#xff0c;是指企业为提高核心竞争力&#xff0c;利用相应的信息技术以及互联网技术协调企业与顾客间在销售、营销和服务上的交互&#xff0c;从而提升其管理方式&…

AUTOSAR知识点Com(一):CANIf入门知识

目录 1、概述 2、上下层关系 2.1 上层 2.2 下层 3、链接 4、记录项 1、概述 下面主要是规范方面的描述&#xff1a; 参考文档《AUTOSAR_SWS_CANInterface.pdf》 CAN接口模块&#xff08;下文简“CanIf”&#xff09;位于底层CAN驱动&#xff08;CanDrv&#xff09;、CA…

华为机试题:HJ103 Redraiment的走法(python)

文章目录&#xff08;1&#xff09;题目描述&#xff08;2&#xff09;Python3实现&#xff08;3&#xff09;知识点详解1、input()&#xff1a;获取控制台&#xff08;任意形式&#xff09;的输入。输出均为字符串类型。1.1、input() 与 list(input()) 的区别、及其相互转换方…

【Python笔记20230307】

基础 编码、解码 str.encode(utf-8) # 编码 str.decode(utf-8) # 解码关键字 import keyword keyword.kwlist格式化输出 % 占位符:%s 字符串%d 整数%f 浮点数Hello, %s % world Hi, %s, you have $%d. % (Michael, 1000000) 占位符的修饰符 -左对齐 .小数点后位数 0左边补零…

SpringCloud简介

一、注册中心 1、为什么需要用到注册中心&#xff1f; 让消费者服务及时知道提供者服务的状态。例如&#xff1a;是否宕机、是否增加了集群实例等。 2、dubbo和zookeeper 特点&#xff1a;服务消费端订阅注册中心。服务提供端增加实例会把新实例注册到注册中心&#xff0c;…

HCIP知识点(前三天)

复习HCIA&#xff1a; 一、TCP/IP模型&#xff0c;OSI模型 OSI 开放式系统互联参考模型 应用层 抽象语言—>编码 表示层 编码—>二进制 会话层 应用程序内部的区分地址&#xff08;无标准格式&#xff09; 传输层 TCP/UDP – 分段&#xff08;受MTU限制&#xff09;、端…

C 语言网络编程 — PF_NETLINK sockets

目录 文章目录目录PF_NETLINK socketsPF_NETLINK sockets Linux 提供了 4 种 User Process 和 Kernel 之间进行通信的 IPC&#xff08;Inter-Process Communicate&#xff0c;进程间通信&#xff09;方式&#xff1a; /procioctlsysfsPF_NETLINK sockets&#xff08;Netlink …

vue大型商城系统中遇到的问题(上)

一&#xff1a;创建仓库1.领导创建git仓库&#xff08;参考————这篇文章&#xff09;&#xff0c;新手下载git2.打开cmd终端&#xff0c;将git仓库拉到本地3.进入文件目录&#xff0c;查看分支&#xff08;新手向——为什么需要创建分支&#xff0c;查看---&#xff09;4.创…

HCIP笔记

第一天 ARP协议 正向ARP&#xff1a;通过IP地址获取目的MAC地址 过程&#xff1a; 目的IP到目的MAC再到ARP表中&#xff0c;所需时间是180s 反向ARP&#xff1a;通过目标MAC地址获取目标IP地址 免费ARP&#xff1a;利用正向ARP的原理请求自己的IP地址 1.自我检测 2.检测地址冲…

使用JMeter 录制脚本

使用JMeter 录制脚本&#xff0c;参考的一个博主的&#xff0c;我记录到我这里&#xff0c;留着以后用哈哈哈哈 1&#xff0c;添加 HTTP代理服务器 测试计划右键–》添加–》非测试元件–》http代理服务器 2&#xff0c;添加线程组&#xff0c;用来存放录制脚本的&#xff0c…

C语言设计模式:实现简单工厂模式和工程创建

目录 一&#xff0c;设计模式概念引入 ① 什么是设计模式 ② 什么是类和对象 ③ 什么是工厂模式 二&#xff0c;C语言工厂模式的实现 ① 普通类和对象的代码实现 ② 工厂模式代码实现 ● cat.c ● dog.c ● person.c ● animal.h ● mainpro.c ● 完善mainpro.c …

硕士毕业论文常见的排版小技巧

word排版陆续更新吧&#xff0c;更具我所遇到的一些小问题&#xff0c;总结上来 文章目录1.避免题注&#xff08;图或者表的标题&#xff09;与图或表格分不用页注意点&#xff1a;光标移动到表的题注后面2.设置论文的页眉关键点&#xff1a;需要将每一章节末尾&#xff0c;都要…

Hadoop 运行环境搭建(开发重点)

文章目录Hadoop 运行环境搭建&#xff08;开发重点&#xff09;一、安装JDK二、安装配置 Hadoop1、安装 hadoop2、hadoop 目录结构3、设置免密登录4、完全分布式模式&#xff08;开发重点&#xff09;1&#xff09;分发jdk2&#xff09;集群配置(1) 集群部署规划(2) 配置文件说…

2.3 二分搜索技术

二分搜索算法是运用分治策略的典型例子。给定己排好府的 n个元素a10:n-1]&#xff0c;现要在这n个元素中找出一特定元素3。首先较容易想到的是用顺序搜索方法&#xff0c;逐个比较a10:1-1]中元素&#xff0c;直至找出元素&#xff0c;或搜索遍整个数组后确定&#xff0c;不在其…

现代HYUNDAI EDI需求分析

现代集团(HYUNDAI)是韩国一家以建筑、造船、汽车行业为主&#xff0c;兼营钢铁、机械、贸易、运输、水泥生产、冶金、金融、电子工业等几十个行业的综合性企业集团。本文主要介绍HYUNDAI 的EDI需求&#xff0c;带大家快速理清思路&#xff0c;明确EDI项目的推进流程。 通信标准…

前端——2.HTML标签1

这篇文章我们从0来介绍一下HTML的相关标签内容 目录 1.HTML语法规范 1.1基本语法概述 1.2标签关系 2.HTML的基本结构标签 2.1第一个HTML网页 2.2基本结构标签总结 1.HTML语法规范 下面&#xff0c;我们来看一下HTML的语法规范的内容 1.1基本语法概述 首先&#xff0c…

【0成本搭建个人博客】——Hexo+Node.js+Gitee Pages

目录 1、下载安装Git 2、下载安装Node.js 3、使用Hexo进行博客的搭建 4、更改博客样式 5、将博客上传到Gitee 6、更新博客 首先看一下Hexo的博客的效果。 1、下载安装Git Git 是一个开源的分布式版本控制系统&#xff0c;可以有效、高速地处理从很小到非常大的项目版本…