SpringBoot(tedu)——day01——环境搭建

news2024/11/18 21:44:59

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/388778.html

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

相关文章

LDO的强力对手

开题前咋们先来温习下LDO的特点以及选型要点&#xff1a; 特点&#xff1a;纹波噪声小&#xff0c;响应快&#xff0c;低静态电流&#xff0c;外围电路简单&#xff1b;损耗大&#xff0c;输出电流小。常用于小电流的模拟电路供电。 选型要点&#xff1a;纹波噪声&#xff0c…

TEX:文档的布局与组织

文章目录标准的类选项指定纸张大小页面格式其他选项与某些选项相关的参数页面样式页眉页的编号fancyhdr页眉页脚宏包(重)定义fancy页面样式Using extramarks文档中页面风格切换与段落有关的距离页面格式单双列页面文档中的部分标题摘要章节附录书的结构目录表自动条目显示目录表…

XMLHttpRequest、ajax、Promise、axios、async await

1.XMLHttpRequest(xhr) 什么是xhr xhr是浏览器提供的js对象&#xff0c;通过它来向服务器来请求资源。jquery中的Ajax是基于xhr对象来封装资源的 使用xhr发起get请求 // 1. 创建 XHR 对象var xhr new XMLHttpRequest()console.log(xhr, 我是xhr);// 2. 调用 open 函数xhr.…

性能优化(2)-渲染优化

一、渲染优化 如果把浏览器呈现页面的整个过程一分为二,前面所讲的主要是浏览器为呈现页面请求所需资源的部分;本章将主要关注浏览器获取到资源后,进行渲染部分的相关优化内容。 在前面的前端页面的生命周期课程中,介绍过关键渲染路径的概念,浏览器通过这个过程对HTML,CSS, J…

<学习笔记>从零开始自学Python-之-web应用框架Django( 十二)上下文处理器

1.在模板中处理上下文处理 上下文就是一系列模板变量和相应的值。模板使用上下文填充变量&#xff0c;放到标签里显示在页面。在 Django 中&#xff0c;上下文使用 django.template 模块中的 Context 类表示。 它的构造方法接受一个可选参数&#xff1a;一个字典&#xff0…

HCIE-Cloud Computing LAB备考第二步:逐题攻破--第二题:FusionAccess-思维导图+题目=建立逻辑

第二题 FusionAccess markmap思维导图1 将上述思维导图跟下述题目结合,以题目顺序辅助记忆思维导图,有了思维大纲,做起实验,也就有逻辑线路,必定手掐把拿。 2.1 搭建FA实验环境(随机二考一) FA1、FA2两台服务器,请通过VNC登陆,按照题目要求根据服务器参数选择安装对…

推荐几款主流好用的markdown编辑器

介绍 随着技术的不断发展和人们对效率的追求&#xff0c;Markdown 编辑器已经成为了许多人写作的首选工具。Markdown 是一种轻量级的标记语言&#xff0c;使用简单&#xff0c;方便快捷&#xff0c;且可以方便地转换成各种格式的文件。在这篇文章中&#xff0c;我们将介绍几款…

移动端适配之动态 rem 方案

代码 就是设置浏览器字体&#xff0c;从而实现根据屏幕动态计算大小 <script>const WIDTH 750; // 设计图尺寸const setView () > {document.documentElement.style.fontSize screen.width / WIDTH "px";};window.onorientationchange setView;setVi…

JUC入门 | 黑马

一、进程和线程 进程 程序由指令和数据组成&#xff0c;但这些指令要运行&#xff0c;数据要读写&#xff0c;就必须将指令加载至CPU&#xff0c;数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理I0的 当一个程序被运行&a…

OpenGL中的坐标系

1、2D笛卡尔坐标系2D笛卡尔坐标系跟我们高中的时候学习的坐标系一样&#xff0c;是由x、y决定的。2、3D笛卡尔坐标系3D笛卡尔坐标系坐标由x、y、z决定&#xff0c;满足右手定则。3、视口glViewport(GLint x,GLint y,GLsizei width,GLsizei height)窗口和视口大小可以相同&#…

手敲Mybatis-反射工具天花板

历时漫长的岁月&#xff0c;终于鼓起勇气继续研究Mybatis的反射工具类们&#xff0c;简直就是把反射玩出花&#xff0c;但是理解起来还是很有难度的&#xff0c;涉及的内容代码也颇多&#xff0c;所以花费时间也比较浩大&#xff0c;不过当了解套路每个类的功能也好&#xff0c…

@mixin与@include介绍

目录mixin与include介绍定义一个mixin使用mixin传递变量如何引入mixinmixin与include介绍 在Sass里面&#xff0c;我们经常会见到mixin与include。 其中 mixin允许定义一个可以在整个样式表中重复使用的样式 include就是将我们定义的mixin引入到文档中 定义一个mixin mixin…

【春招面经】视源股份前端一面

前言 本次主要记录一下视源股份CVTE前端一面 &#xff08;3.3下午4点15&#xff09; 文章目录前言本次主要记录一下视源股份CVTE前端一面 &#xff08;3.3下午4点15&#xff09;问题总结介绍一下项目的来源以及做这个项目的初衷一直监听滚动&#xff0c;有没有对性能产生影响&a…

大数据技术之——zeppelin数据清洗

一、zeppelin的安装zeppelin解压后进入到conf配置文件界面。修改zeppelin-site.xml[roothadoop02 conf]# cp zeppelin-site.xml.template zeppelin-site.xml[roothadoop02 conf]# vim zeppelin-site.xml将IP地址和端口号设置成自己的修改 zeppelin-env.shexport JAVA HOME/opt/…

Linux小黑板(10):信号

我们写在linux系统环境下写一个程序&#xff0c;唔&#xff0c;"它的功能是每隔1s向屏幕打印hello world。"这时&#xff0c;我们在键盘上按出"Ctrl C"后,进程会发生什么&#xff1f;&#xff1f;我们清晰地看到&#xff0c;进程已经在我们按出"Ctrl…

UML2——行为图

目录 一、前言 二、活动图 三、交互图 3.1 一般序列图 3.2 时间约束序列图 3.3 协作图 四、用例图 五、状态图 一、前言 UML 是由视图&#xff08;View&#xff09;、图&#xff08;Diagrams&#xff09;、模型元素&#xff08;Model elements&#xff09;和通用机制等几…

(图像分割)基于图论的归一化分割

解释&#xff1a;将图像映射成图&#xff0c;以图为研究对象&#xff0c;利用图的理论知识获得图像的分割。 下面介绍&#xff1a;图的基本理论&#xff0c;基于图论的归一化分割算法 一、图的基本理论 图G&#xff1d;&#xff08;V&#xff0c;E&#xff0c;&#xff09;&…

《管理世界》数据复现:国有资本参股如何影响民营企业?——基于债务融资视角的研究

摘要&#xff1a; 本文以债务融资为切入点&#xff0c;从“未阐明的规则”和“阐明的规则”两个层面探讨了国有资本参股的“反向混改”是否以及如何影响民营企业。研究发现&#xff1a;国有资本参股可以显著降低民营企业的债务融资成本&#xff0c;扩大债务融资规模。…

性能测试——LoadRunner: Controller的使用

Controller Controller是用来创建测试环境&#xff0c;执行在VUG中编写的测试脚本 可以直接点击Controller的快捷方式打开,也可以在VUG中打开 这里将虚拟用户数设置为3,比较适合自己的电脑性能 整个controller分为下面几个模块 这里先设置左下角的目标计划 设置初始化:双击…

PHP 8.1.14升级低版本openssl扩展的操作方法

问题背景&#xff1a; PHP8.1.4内嵌openssl源码编译出来的openssl库版本号是1.0.2.x系列&#xff0c;低版本的openssl扩展存在安全漏洞&#xff0c;需要将该扩展升级openssl 社区最新版本3.0.8 操作步骤&#xff1a; 安装最新版本的openssl wget https://github.com/openssl…