目录
- 1 SpringBoot
- 1.1 SpringBoot介绍
- 1.2 SpringBoot入门案例
- 1.2.1 安装SpringBoot插件
- 1.2.2 创建SpringBoot项目
- 1.3 关于SpringBoot项目说明
- 1.3.1 关于POM.xml文件说明
- 1.3.2 依赖配置项
- 1.3.3 build标签
- 1.4 SpringBoot Maven操作
- 1.4.1 项目打包
- 1.4.2 java命令运行项目
- 1.5 关于jar包依赖传递性
- 1.5.1 问题描述
- 1.5.2 maven jar包依赖的传递性
- 1.5.3 maven 如何保证jar包依赖安全性
- 2 SpringBoot学习
- 2.1 配置文件说明
- 2.1.1 关于properties文件说明
- 2.1.2 关于yml文件说明
- 2.2 @Value属性赋值
- 2.2.1 springBoot为属性赋值
- 2.2.2 编辑YML配置文件
- 2.2.3 为Dept对象赋值
- 2.2.4 编辑springBoot测试类
- 注意事项: 以后写代码都必须写到主启动类的同包及子包中
- 2.3 利用properties文件为属性赋值
- 2.3.1 编辑pro文件
- 2.3.2 实现自动赋值
- 3 lombok插件
- 3.1 安装插件
- 3.2 添加jar包
- 3.3 lombok注解使用
1 SpringBoot
1.1 SpringBoot介绍
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
SpringBoot的推出 让程序员更加专注于业务处理, SpringBoot是学习微服务框架基石
Spring 和SpringBoot关系 :SpringBoot是Spring的工具API框架
1.2 SpringBoot入门案例
1.2.1 安装SpringBoot插件
- IDEA破解版本,自带SpringBoot插件 所以无需安装
- IDEA社区版本.需要手动安装一个SpringBoot插件
1.2.2 创建SpringBoot项目
- 选择SpringInitializr(初始化)
- 勾选依赖项
- 创建项目后如果发现是灰色的点击Add as Maven Project(不是每个人都这样)
- 执行main方法检查运行是否正常
如图所示表示程序正常.
1.3 关于SpringBoot项目说明
1.3.1 关于POM.xml文件说明
<!--parent标签 父级工程
SpringBoot将现有主流的框架都进行了整合,
在内部完成了jar包的依赖的配置.如果用户需要,则只添加某些核心包
那么所有的依赖都会按照规则自动的下载
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
1.3.2 依赖配置项
<!--Springboot通过启动项的方法的 进行jar包文件的加载.
同时这些功能中的配置项 SpringBoot有些也会自动的完成.
无特殊的要求 无需手动的配置.
开箱即用的思想!!!!
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
1.3.3 build标签
<!--关于build标签说明
1.build标签它是maven工程的要求.
2.作用: 完成项目的打包/发布等一系列的功能.
3.该标签的使用是SpringBoot必须的,如果没有该标签则项目无法使用jar包运行
-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
1.4 SpringBoot Maven操作
1.4.1 项目打包
1.4.2 java命令运行项目
- 将jar包文件放置到指定的目录下
-
dos命令
1)cd 切换目录
2)dir 查看当前目录结构
3)cls 清屏 -
java命令
- 项目关闭:
1)直接将dos窗口关闭
2)ctrl + c 万能的关闭指令
1.5 关于jar包依赖传递性
1.5.1 问题描述
当引入webjar包时, 其他jar包文件如何依赖的?
1.5.2 maven jar包依赖的传递性
以juint举例
- 当maven解析pom.xml文件时,会根据maven坐标查找指定的jar包文件
- 当jar包加载完成之后,由于该项目也是maven工程,所以maven工具会解析该项目的pom.xml文件,根据POM.xml文件 再次加载依赖包 直到所有的jar包依赖加载完成
1.5.3 maven 如何保证jar包依赖安全性
算法: SHA1
SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法1)是一种密码散列函数,美国国家安全局设计,并由美国国家标准技术研究所(NIST)发布为联邦数据处理标准(FIPS)。SHA-1可以生成一个被称为消息摘要的160位(20字节)散列值,散列值通常的呈现形式为40个十六进制数。
-
关于hash常见知识问题:
- 常见的hash有多少位:
- 8位16进制数
- 有多少种排列组合
- 2^32
- 如果key相同,hash值也必然相同
- 1个数据1kb 1个数据1mb “一样快”
- 常见的hash有多少位:
-
核心原理说明:
- 判断传递前后的sha1算法是否相同
- 如果相同则标识传输正常,
- 如果不同,则文件有问题
- 判断传递前后的sha1算法是否相同
2 SpringBoot学习
2.1 配置文件说明
2.1.1 关于properties文件说明
虽然pro文件是SpringBoot默认配置文件.但是其中编码格式比较繁琐,不便于查看.所以在项目中一般使用YML文件
2.1.2 关于yml文件说明
2.2 @Value属性赋值
2.2.1 springBoot为属性赋值
在YML配置文件中编辑key=value结构,之后利用注解为属性赋值.
2.2.2 编辑YML配置文件
#YML文件语法
## 1.YML数据结构k-v结构
## 2.k与v 需要使用 :"空格" 连接
## 3.YMl配置文件有父子级关系 所以注意缩进项的位置
server:
port: 8090 #配置端口
servlet: #web项目发布路径
context-path: / #/表示根目录
#定义dept属性值 YML文件默认支持UTF-8
dept:
id: 100
name: 财务部
2.2.3 为Dept对象赋值
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component //将对象交给Spring容器管理
public class Dept {
//spel表达式
@Value("${dept.id}")
private Integer id;
@Value("${dept.name}")
private String name;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Dept{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
2.2.4 编辑springBoot测试类
import com.jt.pojo.Dept;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
//在执行测试方法时自动的启动Spring容器
//注意事项:
@SpringBootTest
class SpringbootDemo1ApplicationTests {
//当容器启动成功之后,SpringBoot负责将对象进行注入
@Autowired
private Dept dept;
@Test
void contextLoads() {
System.out.println(dept);
}
}
注意事项: 以后写代码都必须写到主启动类的同包及子包中
2.3 利用properties文件为属性赋值
2.3.1 编辑pro文件
2.3.2 实现自动赋值
3 lombok插件
3.1 安装插件
3.2 添加jar包
<!--引入插件lombok 自动的set/get/构造方法插件 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>