目录
一、Spring Boot的优点
Spring Boot是为了快速开发Spring诞生的,它具有以下优点:
1.快速集成框架,Spring Boot 提供了启动添加依赖的功能,用于秒级集成各种框架。
2.内置了运行容器,无需配置TomCat等Web容器,直接运行和部署程序。
3.快速部署项目
4.可以完全抛弃繁琐的XML,使用注解和配置的方式进行开发。
5.支持更多的监控的指标,可以更好的了解项目的运行情况。
二、创建和启动一个Spring Boot项目
1.Spring Boot项目结构
Spring Boot项目有两个目录:
①src/main/java 存放的是Java源代码。
②src/main/resources 存放的是静态资源和配置文件(static是静态资源文件夹,/templates是模板资源文件夹)。
2.Spring Boot项目启动
3.Spring Boot的设计思想
约定大于配置
三、Spring Boot 的配置文件
1.配置文件存放的信息
整个项目重要的数据都在配置文件中配置的,包括:
>数据库的连接信息
>项目的启动端口
>第三方系统的调用秘钥
>用于发现和定位问题的普通日志和异常日志
2.配置文件的格式
两种格式:.properties和.yml(配置文件中添加注释用“#”)
两者的区别:properties是Spring Boot项目默认的文件格式;当properties和yml在一个项目中时,会以properties中的配置为主,加载完之后会接着加载yml的配置文件,properties的配置文件的优先级更高,实际上一个项目会使用一种统一的配置文件,降低故障率。
2.1properties配置文件
properties是最早期的配置文件格式;是以键值对的形式配置的,key和value是以“=”连接的。
# 配置项目端口号
server.port=8084
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/testdb?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=root
2.1.1读取配置文件
读取文件时,使用@Value注解使用“${ }”的格式读取。
@Component
public class ReadProperties {
@Value("${server.port}")
private String port;
@PostConstruct
public void postConstruct() {
System.out.println("Read Properties,port:" + port);
}
}
2.1.2properties的缺点
在使用properties配置文件时,会产生很多冗余的信息。
2.2yml配置文件
yml(Yet Another Markup Language)“另一种标记语言”。
它的可读性更高,易于理解,用来表达数据序列化的格式;可以跨语言;是树形结构的配置文件;基础语法(key:+空格+value);层级之间换行缩进
value的单引号规定:
2.2.1yml连接数据库
spring:
datasource:
url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
username: root
password: root
2.2.2配置不同的数据结构
# 字符串
string.value: Hello
# 布尔值,true或false
boolean.value: true
boolean.value1: false
# 整数
int.value: 10
int.value1: 0b1010_0111_0100_1010_1110 # 二进制
# 浮点数
float.value: 3.14159
float.value1: 314159e-5 # 科学计数法
# Null,~代表null
null.value: ~
2.2.3读取配置文件
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
@Component
public class ReadYml {
@Value("${string.hello}")
private String hello;
@PostConstruct
public void postConstruct() {
System.out.println("Read YML,Hello:" + hello);
}
}
四、Spring Boot 日志文件
日志是程序的重要组成部分。
1.日志的功能
①发现和定位问题
②记录用户的登录日志
③记录系统的操作日志
④记录程序的执行时间
2.Spring Boot的日志相关
Spring Boot内置了日志框架,项目在启动时默认就有日志输出;日志默认打印在控制台,无法保存。
2.1自定义日志打印
2.1.1在程序中得到日志对象
在程序中获取日志对象需要使用日志工厂LoggerFactory,Logger 对象是属于 org.slf4j 包下的。
slf4j是Spring Boot 内置的日志框架。
// 得到日志对象
private static Logger logger = LoggerFactory.getLogger(UserController.class);
2.1.2使用日志对象打印日志
// 使用日志打印日志
logger.info("--------------要输出日志的内容----------------");
3.日志级别
日志的级别是对日志进行分级,更好地筛选想要的信息。日志的输出级别,默认是 info。
日志级别的设置在配置文件中设置“logging.level”.
yml中:
logging:
level:
root: error
properties中:
3.1日志级别的分类和使用
trace:级别最低,微量。
info:普通的打印信息。
debug:需要调试,关键信息的打印
warn:警告,需要注意的问题
error:错误信息,级别较高
fatal:致命的日志信息,因为代码异常导致程序退出执行的信息。
真实输出的内容是设置的日志级别及以上的
上面能够省略日志类的属性进行创建是使用了lombok框架。(添加lombok依赖+使用@slf4j注解)