CGB2107-Day01

news/2024/12/23 4:01:42/

文章目录

  • 1. IDEA环境配置
    • 1.1 控制字体大小
    • 1.2 自动提示设置
    • 1.3 方法自动提示
    • 1.4 字符集设置
    • 1.5 自动编译
    • 1.6 Maven配置
      • 1.6.1 settings文件配置
      • 1.6.2 IDEA整合Maven
    • 1.7 IDEA安装Lombok
      • 1.7.1 Lombok安装
      • 1.7.2 Lombok作用
  • 2. SpringBoot环境调试
    • 2.1 SpringBoot初始化地址
    • 2.2 创建项目
    • 2.3 选择版本依赖
    • 2.4 关于POM.xml文件说明
      • 2.4.1 SpringBoot原生POM.xml文件
      • 2.4.2 阿里云项目pom.xml配置
    • 2.5 关于pom.xml标签说明
      • 2.5.1 关于坐标的说明
      • 2.5.2 maven项目打包方式
      • 2.5.3 父级项目定义
      • 2.5.4 依赖相关说明
      • 2.5.5 maven依赖的传递性
      • 2.5.6 maven依赖传递性实现原理
      • 2.5.7 文件传递有效性
        • 2.5.7.1 SHA1介绍:
        • 2.5.7.2 关于Hash说明
  • 3. SpringBoot高级用法
    • 3.1 关于配置文件说明
      • 3.1.1pro文件说明
      • 3.1.2 YML文件说明
    • 3.2 动态为属性赋值
      • 3.2.1 需求说明
      • 3.2.2 编辑YML配置文件
      • 3.2.3 动态为属性赋值
    • 3.3 利用properties文件为属性赋值
      • 3.3.1 需求说明
      • 3.3.2 编辑pro配置文件
      • 3.3.3 pro为属性赋值

1. IDEA环境配置

1.1 控制字体大小

在这里插入图片描述

1.2 自动提示设置

在这里插入图片描述

1.3 方法自动提示

在这里插入图片描述

1.4 字符集设置

在这里插入图片描述

1.5 自动编译

在这里插入图片描述

1.6 Maven配置

1.6.1 settings文件配置

  1. 配置本地仓库
 <localRepository>E:/repository</localRepository>
  1. 配置私服镜像
<mirror><id>aliyun</id><name>aliyun for maven</name><mirrorOf>*</mirrorOf><url>https://maven.aliyun.com/repository/public</url></mirror>
  1. maven中jdk配置(eclipse中配置 选做)
<profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile>

1.6.2 IDEA整合Maven

在这里插入图片描述

1.7 IDEA安装Lombok

1.7.1 Lombok安装

在这里插入图片描述

1.7.2 Lombok作用

数据库: 库 表 字段 对应的值 user表(id,name,age)
实体对象pojo: 用来封装数据库中的数据 User类(id,name,age)
实体对象方法: Get/Set/toString/无参构造/有参构造/equals/hashcode
lombok作用: 自动生成上述的方法.

2. SpringBoot环境调试

2.1 SpringBoot初始化地址

课堂使用: 阿里云地址镜像
默认地址: https://start.spring.io
阿里云地址: https://start.aliyun.com

2.2 创建项目

在这里插入图片描述

2.3 选择版本依赖

在这里插入图片描述

2.4 关于POM.xml文件说明

2.4.1 SpringBoot原生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><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.5.4</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>springboot_pom</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot_pom</name><description>springboot_pom</description><properties><java.version>1.8</java.version></properties><dependencies><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></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

2.4.2 阿里云项目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><groupId>com.jt</groupId><artifactId>springboot_demo1</artifactId><version>0.0.1-SNAPSHOT</version><name>springboot_demo1</name><description>springboot_demo1</description><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.4.1</spring-boot.version></properties><dependencies><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></dependency></dependencies><dependencyManagement><dependencies><!--相当于继承了一个父级--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><!--通过pom标识 是一个父级 --><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><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><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.4.1</version><configuration><mainClass>com.jt.SpringbootDemo1Application</mainClass></configuration><!--排除一些指定的配置--><executions><execution><id>repackage</id><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></build></project>

2.5 关于pom.xml标签说明

2.5.1 关于坐标的说明

说明: 该坐标在本地仓库中是唯一标识符.是当前项目打包/被依赖的唯一路径.

 <!--该配置表示maven坐标 --><!--项目的组ID--><groupId>com.jt</groupId><!--项目名称--><artifactId>springboot_demo1</artifactId><!--项目版本号--><version>0.0.1-SNAPSHOT</version><name>springboot_demo1</name><description>springboot_demo1</description>

根据坐标查找jar包
在这里插入图片描述
扩展: 如果项目中依赖第三方jar包文件报错! 如何处理?
问题说明: 有时根据坐标下载jar包文件时,可能由于网络问题,导致jar包下载不完整.
解决方案: 根据第三方的坐标,查找到本地仓库的位置,之后删除 重新下载.

2.5.2 maven项目打包方式

  1. 默认条件下 jar包
  2. web项目可以打成 war包
  3. 如果该项目是父级项目 则写 pom
    在这里插入图片描述

2.5.3 父级项目定义

通过dependencyManagement标签统一定义父级工程,在其中定义了springBoot项目所有兼容的版本信息.
所以依赖项中不需要添加版本号,也可以正常依赖jar包文件

<dependencyManagement><dependencies><!--相当于继承了一个父级--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><!--通过pom标识 是一个父级 --><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>
  1. 父级依赖的位置
    在这里插入图片描述
    3.父级依赖信息说明
    在这里插入图片描述

2.5.4 依赖相关说明

思想: “开箱即用” 是springBoot设计的核心 越来越简单!!!
什么是启动项: SpringBoot为整合第三方框架,写了启动项的jar包文件,其中官方已经将所有的配置信息/需要依赖的jar包文件提前测试并且定义.

 		<dependency><groupId>org.springframework.boot</groupId><!--SpringBoot的启动项   web 相当于引入mvc框架思想: "开箱即用"!!!!说明: 只需要引入jar包,简单的配置即可以使用该功能--><artifactId>spring-boot-starter-web</artifactId></dependency>

2.5.5 maven依赖的传递性

说明: maven中的jar包是有依赖的传递性
例如: A项目依赖B.jar包, B.jar依赖C.jar. 在项目中,只需要添加B.jar.则B/C.jar都会自动添加.
实际应用: 如图web.jar包中依赖了很多其它的第三方jar包文件.
在这里插入图片描述

2.5.6 maven依赖传递性实现原理

mavenjar包查询网址: https://mvnrepository.com/
依赖项的相关说明:
在这里插入图片描述
2.本地仓库文件说明:
在这里插入图片描述
步骤:
1. 当maven开始解析项目的POM.xml文件时,根据依赖的坐标,找到指定的jar包文件.之后添加该依赖.
2. 之后扫描当前文件中的 xxx.pom文件.
3. 扫描pom.xml文件中的依赖信息dependency
4. 根据dependency的坐标 重复执行上述的操作.直到所有的依赖都添加完成.

2.5.7 文件传递有效性

需求: 网络数据传输,一般都需要进行加密处理.maven中采用SHA1数字签名的加密算法,保证数据传递的有效性!!!
说明: maven数据传递有效性原理图.
在这里插入图片描述

2.5.7.1 SHA1介绍:

SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为**40个十六进制数**。

关键字: 数字证书.

2.5.7.2 关于Hash说明

问题1: 常见hashcode值 有多少位16进制数组成??? 8位
问题2: 8位16进制数,有多少种排列组合? 2^32种
00000000-FFFFFFFF
问题3: 相同数据进行hash(算法相同),问题: 值是否相同? 必定相同
问题4: 不同数据进行hash(算法相同),问题: 值是否相同? 可能相同 hash碰撞
问题5: 一个数据1kb, 一个数据ITB 问: hash计算的速度谁快? “一样快” hash本质

3. SpringBoot高级用法

3.1 关于配置文件说明

3.1.1pro文件说明

# 1.pro文件语法
# 数据结构类型:   key=value  特别注意不要有空格.
# 字符集编码:    程序读取文件时,默认采用ISO-8859-1编码
# 弊端: 所有的key都必须写完整,不能缩进

3.1.2 YML文件说明

# YML文件的语法
# 1.数据结构   key-value结构
# 2.写法:     key:(空格)value
# 3.层级代码结构,注意缩进
# 4.字符集  文件读取时,默认采用UTF-8编码 可以写中文
server:port: 8080

3.2 动态为属性赋值

3.2.1 需求说明

说明: 有时将数据写死,不方便后续扩展,需要为属性动态赋值.
解决方案: 有些数据是后台特有的.一般可以将数据写到配置文件中,之后为属性动态赋值
在这里插入图片描述

3.2.2 编辑YML配置文件

# YML文件的语法
# 1.数据结构   key-value结构
# 2.写法:     key:(空格)value
# 3.层级代码结构,注意缩进 !!!!!
# 4.字符集  文件读取时,默认采用UTF-8编码 可以写中文
# 规则: 命名时最好指定前缀.
server:port: 8080
mysql:username: rootpassword: root

3.2.3 动态为属性赋值

package com.jt.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 说明:*  1.将该类交给Spring容器管理*  2.SpringMVC负责调用该对象接收用户的请求.*  3.将业务处理之后的结果,为页面返回JSON数据.*  @ResponseBody作用: 将数据转化为JSON串*/
@RestController
public class JDBCController {//${key} Spring提供的springel表达式 简称为:spel表达式//语法: 从spring容器内部获取key,动态为属性赋值.@Value("${mysql.username}")String username;     // = "root|";@Value("${mysql.password}")String password;     // = "root";@RequestMapping("/getMsg")public String getMsg(){return "你好数据库:"+ username +password;}
}

3.3 利用properties文件为属性赋值

3.3.1 需求说明

YML文件是SpringBoot的核心配置文件,一般主要用来整合其它第三方框架.属于系统配置文件.如果将大量的业务数据写到系统配置文件中. 耦合性高. 所以将业务数据最好放到pro文件中.

3.3.2 编辑pro配置文件

#默认ISO-8859-1 中文必定乱码
mysql.username2=mysql数据库
mysql.password2=你猜猜

3.3.3 pro为属性赋值

说明: 通过注解为属性赋值,可以指定字符集

package com.jt.controller;import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.PropertySource;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** 说明:*  1.将该类交给Spring容器管理*  2.SpringMVC负责调用该对象接收用户的请求.*  3.将业务处理之后的结果,为页面返回JSON数据.*  @ResponseBody作用: 将数据转化为JSON串**  propertySource:  value属性指定路径*                   encoding属性指定配置文件编码格式*/
@RestController
@PropertySource(value="classpath:/mysql.properties",encoding = "UTF-8")
public class JDBCController {/*** 难点: 如何将pro文件交给Spring容器管理????* 解决方案: @PropertySource("xxxxxx/xxx.properties") 指定配置文件交给Spring*          容器管理*/@Value("${mysql.username2}")private String username2;@Value("${mysql.password2}")private String password2;@RequestMapping("/getMsg2")public String getMsg2(){return "你好数据库:"+ username2 +password2;}
}

http://www.ppmy.cn/news/215307.html

相关文章

cgb2107-day17

文章目录 一,IOC的xml方式--了解--1,项目结构--2,创建Hello类--3,创建User类--4,创建配置文件--5,创建测试类 二,IOC的注解方式--重点--0,项目结构--1,创建类--2,配置包扫描--3,测试 三,模拟 DI依赖注入--1,概述--2,测试创建Emp类创建Dept 类创建测试类 四,Spring提供的DI依赖注…

B719/B70/B72/HS/HSS/HC/HCS/FD/BSB/760/TB.P63系列

&#xff0c;INA精密ZKLN系列/ZKLF系列/RUS系列/PR系列/ZARN/NARF/YRT系列INA直线轴承和轴承座系列&#xff0c;INA导轨滑块&#xff0c;INA带座轴承&#xff0c;INA调心滚针PNA/RPNA系列&#xff0c;INA滚轮轴承LR/KR/NATV/NATR系列&#xff0c;NSK高精密轴承&#xff0c;日本…

cgb2109-day17

文章目录 一,模拟Servlet解析请求参数--1,测试 二,Servlet 解析post方式提交的数据--1,测试--2,前端HTML页面 三,综合案例--1,需求--2,创建HTML网页--3,创建DeptServlet类--4,总结 四,请求转发--1,概述--2,测试--3,总结 五,响应Response--1,概述--2,测试 六,重定向--1,概述--2,…

Zbit ZB25VQ16ASIG 16M flash

ZB25VQ16ASIG非易失性闪存设备支持标准串行外围接口&#xff08;SPI&#xff09;。支持传统SPI单位串行输入和输出&#xff08;单I/O或STIO&#xff09;以及可选的两位&#xff08;双I/O或DIO&#xff09;和四位&#xff08;四I/O&#xff09;串行协议。这种多宽度接口称为SPI …

cgb2107-day15

文章目录 一,SpringMVC框架--1,概述--2,入门案例项目结构创建启动类创建CarController类测试 二,springmvc框架解析请求参数--1,get方式解析复杂的参数创建Car类 --2,restful方式在IDEA里创建后端代码UserController 类在HB里创建前端html代码测试 练习:需求修改前端页面修改后…

cgb2107-day12

文章目录 一,练习--1,测试 二,vue指令--1,概述--2,测试 三,Vue指令v-on v-bind--1,测试 四,Vue 组件--1,概述--2,测试 五,Vue项目--1,安装脚手架--2,配置项目 一,练习 –1,测试 <!DOCTYPE html> <html><head><meta charset"utf-8"><titl…

CGB2111-Day18

1. 前后端项目发布 1.1 图片回显操作 1.1.1 检查图片上传路径是否正确 1.1.2 浏览器检查图片是否正确 说明: 如果该操作正常, 则表示后端代码没错!!! 1.1.3 检查hosts文件是否有效 主要作用: 实现域名与IP地址的映射. 127.0.0.1 image.jt.com 127.0.0.1 manage.jt.com 12…

bm26 bm27 1

描述 给定一个二叉树&#xff0c;返回该二叉树层序遍历的结果&#xff08;从左到右&#xff0c;一层一层地遍历&#xff09; 例如:给定的二叉树是{3,9,20,#,#,15,7}, ArrayDeque ArrayDeque是java中对双端队列的线性实现 在这里插入代码片 import java.util.*;/** public cla…