Spring Boot

目录

SpringBoot

SpringBoot创建和使用

什么是Spring Boot

Spring Boot优点

Spring Boot项目的创建

项目目录介绍和运行 

目录介绍

项目运行 

SpringBoot核心设计思想

 SpringBoot的配置文件

配置文件的作用

配置文件的格式

 注意事项

properties配置文件

properties的设置

properties的读取

properties的缺点

yml配置文件

yml语法

yml字符串修饰符的问题

yml配置对象

yml配置集合

解决配置文件乱码问题

多平台的配置文件设置

Spring Boot日志文件

自定义日志打印

日志格式说明

开发者自定义日志打印过程

 日志持久化

1.设置日志的名称

2.设置日志的保存路径

日志级别分类和使用

日志的优先级

日志的级别设置

更简单的日志输出

1.添加lombok框架

 2.使用@slf4j注解输出日志

 lombok作用


SpringBoot

SpringBoot创建和使用

什么是Spring Boot

在之前的学习中我们了解了Spring,Spring是具有众多工具方法的IoC容器,Spring是为了简化Java程序开发的,而Spring Boot就是为了简化Spring程序的开发

Spring Boot优点

1.快速集成框架,Spring Boot 提供了启动添加依赖的功能

2.内置运行容器,无需配置Tomcat等Web容器,直接运行部署程序

3.快速部署项目,无需外部容器即可启动并运行项目

4.抛弃繁琐的xml,使用注解和配置的方式进行开发

5.更多的监控指标,更好的了解项目的运行情况

Spring Boot项目的创建

这里使用的是idea社区版(2021.3.2)需要安装插件(Spring Boot Helper)才能创建Spring Boot

 安装完成之后可以创建新项目来验证是否成功安装,有下面图标表示安装完成

 还可以通过Spring官网提供的网页进行创建Spring Boot项目

 

项目目录介绍和运行 

目录介绍

项目运行 

Spring Boot项目创建成功我们就来试着运行

可以看到输出的内容是我们所需要的,但是具体细节内容还需要后面介绍,这里只是先验证是否能使用

SpringBoot核心设计思想

我们在不修改代码的前提下只是将TestController修改到别的包中,发现程序报错了

这就需要提及SpringBoot核心设计思想:约定大于配置,SpringBoot会扫描启动类同级目录或下级目录,必须按照约定才能正常运行

 SpringBoot的配置文件

在SpringBoot项目中主要的代码就两类,一是业务代码(Java下的),另一类就是resource下的资源文件,因此就能看出配置文件的重要性

配置文件的作用

在项目中所有重要的数据都是在配置文件中配置的

1.数据库的连接信息(用户名和密码的设置等)

2.项目的启动端口

3.第三方系统调用秘钥等信息

4.用于发现和定位问题的普通日志和异常日志等

配置文件的格式

SpringBoot提供了两种格式的配置文件分别为.properties和.yml

 注意事项

在SpringBoot中.properties和.yml配置文件理论上是可以同时存在的,当两个配置文件有着相同的配置,那么会以.properties为主,说明是 .properties 配置文件件的优先级最高,但加载完 .properties文件之后,也会加载 .yml文件的配置信息,但是为了维护建议采用统一的配置文件格式, .properties配置文件是早期的配置文件格式,也是SpringBoot默认的配置文件

properties配置文件

properties的设置

#设置端口号
server.port=9090
#设置数据库连接信息
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/myblog2023?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=12345678

properties是以键值对的形式配置的,key和value是以"="连接的

配置文件中可以使用"#"添加注解信息

配置文件内容分为SpringBoot内置的配置项和用户自定义的配置项

properties的读取

在项目中想要获取配置文件中的内容,需要添加@Value注解

@Value要使用${}格式才能正常读取

properties的缺点

properties是以key-value的格式配置的,但是在配置key时可能出现很多冗余的信息,如何简化就需要使用yml配置格式了

yml配置文件

yml是YAML的缩写,全称 Yet Another Markup Language翻译成中文是"另一种标记语言"

yml语法

注意:冒号后面的空格,以及多级目录的层级划分

 yml读取方式与properties的方式相同都是使用@Value注解

yml字符串修饰符的问题

yml配置如果使用了双引号修饰value值,那么value值中的特殊字符串就会发挥自身的用途 

yml配置对象

在配置对象时读取需要添加注解@ConfigurationProperties配合类注解,并且类中的getter()和setter()方法必不可少

yml配置集合

注意配置的格式"-"和空格是必不可少的,读取和读对象是一样的都是采用@ConfigurationProperties配合类注解一起,我这里使用了@Data注解内置了get()和set()方法

解决配置文件乱码问题

我们在application.properties配置文件中写的注解等中文,在关闭项目在打开后就会出现乱码现象,如何解决呢

 修改encoding的编码格式为utf-8,注意设置当前项目和以后项目两处的编码格式

多平台的配置文件设置

一个项目需要在多个环境下部署,如何解决不同环境下的配置问题,可以设置不同名称的配置文件

 通过在application.yml中设置spring.profiles.active=dev/prod/test,决定环境的使用,active属于profiles下的一个属性,不能写成同一目录

#运行环境设置
spring:
  profiles:
    active: prod

Spring Boot日志文件

日志是程序不可或缺的一部分,在程序报错时可以定位问题,同时还能够记录需要的信息,接下来我会通过三个问题来介绍日志的使用

1.输出自定义日志

2.将日志持久化

3.通过设置日志的级别来筛选和控制日志的内容

自定义日志打印

日志格式说明

开发者自定义日志打印过程

1.得到日志对象

private static Logger logger= LoggerFactory.getLogger(TestController.class);

 注意:Logger 对象是属于 org.slf4j 包下的,不要导⼊错包

 Spring Boot 中内置了日志框架 Slf4j,所以咱们可以直接在程序中调用 slf4j 来输出日志

2.使用日志对象提供的方法,输出自定义的日志内容

日志打印方法有很多这里通过info()方法输出日志

 日志持久化

1.设置日志的名称

#设置日志的保存名称
logging:
  file:
    name: springboot.log

 注意:日志不会丢失,会一直追加,当日志文件比较大的时候会自动分割,分割为多个文件

2.设置日志的保存路径

logging:
  file:
    path: C:\work\

默认日志文件名为spring.log

日志级别分类和使用

日志的优先级

日志的优先级为: trace(微量)  debug(调试时打印信息)  info(默认)  warn(警告) error(报错) fatal(致命的,代码异常导致程序退出)

日志的级别设置

日志级别配置只需要在配置文件中设置"logging.level"配置项即可

更简单的日志输出

在上面的学习中我们需要先拿到日志对象也就是需要在类中LoggerFactory.getLogger(xxx.class)

比较麻烦如何高效的输出呢,这里就需要使用lombok

1.添加lombok框架

在pom.xml中添加依赖,或者使用插件EditStarters添加框架支持

 2.使用@slf4j注解输出日志

 注意:在使用@slf4j注解,程序需要使用log对象才能输入输出日志对象,这是lombok提供的对象名

 lombok作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值