SpringBoot

什么是SpringBoot

Spring的诞⽣是为了简化Java程序的开发的, ⽽ SpringBoot的诞⽣是为了简化 Spring 程序开发 的. SpringBoot翻译⼀下就是Spring脚⼿架, 它就是为了快速开发Spring框架⽽诞⽣的

优点

  • 快速集成框架, SpringBoot提供了启动添加依赖的功能, ⽤于秒级集成各种框架.
  • 内置运⾏容器, ⽆需配置Tomcat等Web容器, 直接运⾏和部署程序.
  • 快速部署项⽬, ⽆需外部容器即可启动并运⾏项⽬. 可以完全抛弃繁琐的XML, 使⽤注解和配置的⽅式进⾏开发
  • ⽀持更多的监控的指标, 可以更好的了解项⽬的运⾏情况.

项目创建

选择Spring Initializr

SpringBoot_第1张图片

导入包(也可以之后手动添加)

SpringBoot_第2张图片

没用的文件(夹)

SpringBoot_第3张图片

启动类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vfa1xFqA-1690016570870)(https://cdn.nlark.com/yuque/0/2023/png/26010044/1689775534941-e88f66b7-1489-4610-998a-f5dfb0bccbd6.png#averageHue=%2334353c&clientId=u4ef98548-ef2d-4&from=paste&height=179&id=uc5369098&originHeight=268&originWidth=698&originalType=binary&ratio=1.5&rotation=0&showTitle=false&size=178045&status=done&style=none&taskId=u8d0e7262-17f0-46c3-85c6-de257df8196&title=&width=465.3333333333333)]

补充

各个文件夹作用

SpringBoot_第4张图片

默认的Bean扫描路径

把bean交给Spring管理, 需要配置扫描路径. **SpringBoot扫描路径默认是启动类的目录及其子目录**

添加一个服务

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        return "Hello SpringBoot";
    }
}

配置文件properties

properties和yml

SpringBoot配置文件有两种格式application.propertiesapplication.yml, properties是旧版, yml是新版.
如果两个都存在, 两个配置文件都生效, 如果两个文件有冲突, 优先properties. 通常情况一个项目只有一个配置文件.

用法

修改端口号

**server.port=8088**

配置数据库

配置数据库
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/数据库名?characterEncoding=utf8
配置账号
spring.datasource.username=root
配置密码
spring.datasource.password=1234567

读配置文件

Spring相关配置

例如设置端口号, 设置数据库

自定义配置

需要以value=key的形式配置, value用小写字母,单词之间用** .** 连接
使用方法
先在配置文件里添加配置
image.png
使用@Value("KaTeX parse error: Expected 'EOF', got '#' at position 106: …0799fe54246.png#̲averageHue=#343…{ }`, 那么会把引号里的值直接赋给value
image.png

配置文件yml

用法

**注意, 冒号后面一定要加空格, 而且要正确缩进(两个空格,而非Tab), 否则无效**

修改端口号

image.png

配置数据库

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OMQNDTtS-1690016570871)(https://cdn.nlark.com/yuque/0/2023/png/26010044/1689836635249-a127e81e-df94-4e1c-a40d-4ae4b8d444b2.png#averageHue=%23303239&clientId=u4ff0effe-15b0-4&from=paste&height=110&id=u59ee8df5&originHeight=165&originWidth=849&originalType=binary&ratio=1.5&rotation=0&showTitle=false&size=128382&status=done&style=none&taskId=u3f21e4b2-7d2d-4561-98ce-b43dda6f7e9&title=&width=566)]

读取配置文件

和properties一样

自定义配置

SpringBoot_第5张图片
~代表null, 双引号会解析内容, 单引号不会
SpringBoot_第6张图片

利用yml为类赋值(类属性, List, HashMap)

添加配置
注意List- value赋值
SpringBoot_第7张图片
读取配置
perfix可以省略
SpringBoot_第8张图片
运行结果
image.png

选择其他配置文件

注意命名格式
SpringBoot_第9张图片
当想选择其他配置文件的时候, 在主配置文件里写以下内容, 就会选择对应的配置文件
image.png

lombok

介绍

是一个工具,

用法

@Data

自动为类提供getter, setter, toString, equals, 构造方法
SpringBoot_第10张图片

更多

SpringBoot_第11张图片
@Getter等加在属性上面就是只给这个属性加Getter等方法, 加类上就是全加

两种格式配置文件

yml优点

yml是YAML是缩写,它的全称 Yet Another Markup Language 翻译成中文就是“另
一种标记语言”
yml优点分析:
1.yml是一个可读性高,写法简单,易于理解,他的语法和JSON语言类似
2.yml支持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态. 它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件等
3.yml支持更多的编程语言,它不止是Java中可以使用, 在Golang、PHP、Python、Ruby、JavaScript、Perl中

自定义日志

SpringBoot_第12张图片

日志格式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GmTFMngs-1690016570874)(https://cdn.nlark.com/yuque/0/2023/png/26010044/1689922824078-44cd54cc-25be-4e52-b47a-3d64115a5dab.png#averageHue=%23b0afae&clientId=udecc41fa-84f3-4&from=paste&height=209&id=ud48469d0&originHeight=314&originWidth=1817&originalType=binary&ratio=1.5&rotation=0&showTitle=false&size=183079&status=done&style=none&taskId=ue83e0eb7-c162-4cac-adaa-c0522e18856&title=&width=1211.3333333333333)]

获取日志对象&设置打印的内容

SpringBoot_第13张图片
**注意包名**
SpringBoot_第14张图片

日志框架

SpringBoot_第15张图片

日志级别

SpringBoot_第16张图片
SpringBoot_第17张图片
SpringBoot_第18张图片
SpringBoot_第19张图片

设置日志级别

在配置文件里添加:
分目录, 分级别, 不然打印debug会把Spring自己的日志也打印出来, 太多了
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-beWQb8CM-1690016570876)(https://cdn.nlark.com/yuque/0/2023/png/26010044/1689924566385-31904454-2f87-434a-8f61-46f8228a008e.png#averageHue=%23fdf5f3&clientId=udecc41fa-84f3-4&from=paste&height=162&id=u8a985112&originHeight=243&originWidth=709&originalType=binary&ratio=1.5&rotation=0&showTitle=false&size=48914&status=done&style=none&taskId=u04791b3f-e683-4182-9b89-6484e321344&title=&width=472.6666666666667)]

日志持久化

SpringBoot_第20张图片

更简单的写法

利用lombok下的slf4j
SpringBoot_第21张图片

你可能感兴趣的:(JavaEE,spring,boot,后端,java)