DAY06_SpringBoot—入门&properties/YML文件&lombok插件及使用

目录

  • [1 SpringBoot](#1 SpringBoot)
    • [1.1 SpringBoot介绍](#1.1 SpringBoot介绍)
    • [1.2 SpringBoot入门案例](#1.2 SpringBoot入门案例)
      • [1.2.1 安装SpringBoot插件](#1.2.1 安装SpringBoot插件)
      • [1.2.2 创建SpringBoot项目](#1.2.2 创建SpringBoot项目)
    • [1.3 关于SpringBoot项目说明](#1.3 关于SpringBoot项目说明)
      • [1.3.1 关于POM.xml文件说明](#1.3.1 关于POM.xml文件说明)
      • [1.3.2 依赖配置项](#1.3.2 依赖配置项)
      • [1.3.3 build标签](#1.3.3 build标签)
    • [1.4 SpringBoot Maven操作](#1.4 SpringBoot Maven操作)
      • [1.4.1 项目打包](#1.4.1 项目打包)
      • [1.4.2 java命令运行项目](#1.4.2 java命令运行项目)
    • [1.5 关于jar包依赖传递性](#1.5 关于jar包依赖传递性)
      • [1.5.1 问题描述](#1.5.1 问题描述)
      • [1.5.2 maven jar包依赖的传递性](#1.5.2 maven jar包依赖的传递性)
      • [1.5.3 maven 如何保证jar包依赖安全性](#1.5.3 maven 如何保证jar包依赖安全性)
  • [2 SpringBoot学习](#2 SpringBoot学习)
    • [2.1 配置文件说明](#2.1 配置文件说明)
      • [2.1.1 关于properties文件说明](#2.1.1 关于properties文件说明)
      • [2.1.2 关于yml文件说明](#2.1.2 关于yml文件说明)
    • [2.2 @Value属性赋值](#2.2 @Value属性赋值)
      • [2.2.1 springBoot为属性赋值](#2.2.1 springBoot为属性赋值)
      • [2.2.2 编辑YML配置文件](#2.2.2 编辑YML配置文件)
      • [2.2.3 为Dept对象赋值](#2.2.3 为Dept对象赋值)
      • [2.2.4 编辑springBoot测试类](#2.2.4 编辑springBoot测试类)
      • [注意事项: 以后写代码都必须写到主启动类的同包及子包中](#注意事项: 以后写代码都必须写到主启动类的同包及子包中)
    • [2.3 利用properties文件为属性赋值](#2.3 利用properties文件为属性赋值)
      • [2.3.1 编辑pro文件](#2.3.1 编辑pro文件)
      • [2.3.2 实现自动赋值](#2.3.2 实现自动赋值)
  • [3 lombok插件](#3 lombok插件)
    • [3.1 安装插件](#3.1 安装插件)
    • [3.2 添加jar包](#3.2 添加jar包)
    • [3.3 lombok注解使用](#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项目

  1. 选择SpringInitializr(初始化)
  1. 勾选依赖项
  1. 创建项目后如果发现是灰色的点击Add as Maven Project(不是每个人都这样)
  1. 执行main方法检查运行是否正常

如图所示表示程序正常.

1.3 关于SpringBoot项目说明

1.3.1 关于POM.xml文件说明

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 依赖配置项

xml 复制代码
<!--Springboot通过启动项的方法的 进行jar包文件的加载.
	同时这些功能中的配置项 SpringBoot有些也会自动的完成.
	无特殊的要求 无需手动的配置.
	开箱即用的思想!!!!
-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

1.3.3 build标签

xml 复制代码
<!--关于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命令运行项目

  1. 将jar包文件放置到指定的目录下
  1. dos命令

    1)cd 切换目录

    2)dir 查看当前目录结构

    3)cls 清屏

  2. java命令


  1. 项目关闭:
    1)直接将dos窗口关闭
    2)ctrl + c 万能的关闭指令

1.5 关于jar包依赖传递性

1.5.1 问题描述

当引入webjar包时, 其他jar包文件如何依赖的?

1.5.2 maven jar包依赖的传递性

以juint举例

  1. 当maven解析pom.xml文件时,会根据maven坐标查找指定的jar包文件
  2. 当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算法是否相同
      • 如果相同则标识传输正常,
      • 如果不同,则文件有问题

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 复制代码
#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对象赋值

java 复制代码
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测试类

注意事项: 以后写代码都必须写到主启动类的同包及子包中

java 复制代码
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包

xml 复制代码
<!--引入插件lombok 自动的set/get/构造方法插件  -->
<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
</dependency>

3.3 lombok注解使用

相关推荐
小灰灰__16 分钟前
IDEA加载通义灵码插件及使用指南
java·ide·intellij-idea
夜雨翦春韭19 分钟前
Java中的动态代理
java·开发语言·aop·动态代理
程序媛小果40 分钟前
基于java+SpringBoot+Vue的宠物咖啡馆平台设计与实现
java·vue.js·spring boot
追风林1 小时前
mac m1 docker本地部署canal 监听mysql的binglog日志
java·docker·mac
芒果披萨1 小时前
El表达式和JSTL
java·el
许野平1 小时前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
duration~2 小时前
Maven随笔
java·maven
zmgst2 小时前
canal1.1.7使用canal-adapter进行mysql同步数据
java·数据库·mysql
跃ZHD2 小时前
前后端分离,Jackson,Long精度丢失
java
blammmp2 小时前
Java:数据结构-枚举
java·开发语言·数据结构