SpringBoot

目录

什么是Spring Boot

Spring Boot 优点

SpringBoot 配置⽂件

配置⽂件的格式

properties 配置⽂件说明

properties 基本语法

读取配置⽂件

yml 配置⽂件说明

 yml 基本语法

使⽤ yml 连接数据库  

yml 使⽤进阶

yml 配置不同数据类型及 null

yml 配置读取

配置对象

SpringBoot ⽇志⽂件

⾃定义⽇志打印

在程序中得到⽇志对象 

使⽤⽇志对象打印⽇志

⽇志格式说明

​编辑 ⽇志级别

⽇志级别设置

⽇志持久化

更简单的⽇志输出—lombok

添加 lombok 依赖

输出⽇志


什么是Spring Boot

Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发
的。
Spring Boot 就是 Spring 框架的脚⼿架,它就是为了快速开发 Spring 框架⽽诞⽣的。

Spring Boot 优点

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

SpringBoot 配置⽂件

配置⽂件的格式

 Spring Boot 配置⽂件主要分为以下两种格式:

.properties

.yml
如下图所示:

 

1. 理论上讲 properties 可以和 yml ⼀起存在于⼀个项⽬当中,当 properties 和 yml ⼀起存在⼀个项⽬中时,如果配置⽂件中出现了同样的配置,⽐如 properties 和 yml 中都配置了“server.port”,那么这个时候会以 properties 中的配置为主,也就是 .properties 配置⽂件的优先级最⾼,但加载 完 .properties ⽂件之后,也会加载 .yml ⽂件的配置信息。
2. 虽然理论上来讲 .properties 可以和 .yml 共存,但实际的业务当中,我们通常会采取⼀种统⼀的配置⽂件格式,这样可以更好的维护(降低故障率)。这就好像连锁店的服饰⼀样,不管是⽼款的服装还是新款的服装,⼀定要统⼀了才好看

properties 配置⽂件说明

properties 配置⽂件是最早期的配置⽂件格式,也是创建 Spring Boot 项⽬默认的配置⽂件。

properties 基本语法

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

读取配置⽂件

如果在项⽬中,想要主动的读取配置⽂件中的内容,可以使⽤ @Value 注解来实现。
@Value 注解使⽤“${}”的格式读取,如下代码所示:
    
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.PostConstruct;
    @Component
    public class ReadYml {
        @Value("${server.port}")
        private String port;
        @PostConstruct
        public void postConstruct() {
            System.out.println("Read YML,port:" + port);
        }
    }
properties 配置⽂件中会有很多的冗余的信息,想要解决这个问题,就可以使⽤ yml 配置⽂件的格式化了。

yml 配置⽂件说明

yml 是 YAML 是缩写,它的全称 Yet Another Markup Language 翻译成中⽂就是“另⼀种标记语
⾔”。
yml 优点分析
  • yml 是⼀个可读性⾼,写法简单、易于理解,它的语法和 JSON 语⾔类似。
  • yml ⽀持更多的数据类型,它可以简单表达清单(数组)、散列表,标量等数据形态。它使⽤空⽩符号缩进和⼤量依赖外观的特⾊,特别适合⽤来表达或编辑数据结构、各种配置⽂件等。
  • yml ⽀持更多的编程语⾔,它不⽌是 Java 中可以使⽤在 Golang、PHP、Python、Ruby、 JavaScript、Perl 中 

 yml 基本语法

yml 是树形结构的配置⽂件,它的基础语法是“key: value”,注意 key 和 value 之间使⽤英⽂冒汗加空格的⽅式组成的,其中的空格不可省略。基础语法如下:

 

其中第⼀项的配置为正确的,key 也是⾼亮显示的,⽽第⼆项没有空格是错误的使⽤⽅式,第⼆项的key 也没有⾼亮显示。
使⽤ yml 连接数据库  
spring:
  datasource:
  url: jdbc:mysql://127.0.0.0:3306/dbname?characterEncoding=utf8
  username: root
  password: root

yml 使⽤进阶

yml 配置不同数据类型及 null
# 字符串
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: ~
yml 配置读取
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);
    }
}
配置对象
我们还可以在 yml 中配置对象,如下配置:
student:
  id: 1
  name: Java
  age: 18
或者是使⽤⾏内写法(与上⾯的写法作⽤⼀致)
student: {id: 1,name: Java,age: 18}

SpringBoot ⽇志⽂件

⽇志对于我们来说,最主要的⽤途就是排除和 定位问题。
除了发现和定位问题之外,我们还可以通过⽇志实现以下功能:
  • 记录⽤户登录⽇志,⽅便分析⽤户是正常登录还是恶意破解⽤户。
  • 记录系统的操作⽇志,⽅便数据恢复和定位操作⼈。
  • 记录程序的执⾏时间,⽅便为以后优化程序提供数据⽀持。
  • 以上这些都是⽇志提供的⾮常实⽤的功能。

⾃定义⽇志打印

开发者⾃定义打印⽇志的实现步骤:
1、在程序中得到⽇志对象。
2、使⽤⽇志对象的相关语法输出要打印的内容。

在程序中得到⽇志对象 

// 1.得到⽇志对象
private static Logger logger = LoggerFactory.getLogger(UserController.class
);
Logger 对象是属于 org.slf4j 包下的

使⽤⽇志对象打印⽇志

// 2.使⽤⽇志打印⽇志
logger.info("--------------要输出⽇志的内容----------------");

⽇志格式说明

 ⽇志级别

⽇志的级别分为:
  • trace:微量,少许的意思,级别最低;
  • debug:需要调试时候的关键信息打印;
  • info:普通的打印信息(默认⽇志级别);
  • warn:警告,不影响使⽤,但需要注意的问题;
  • error:错误信息,级别较⾼的错误⽇志信息;
  • fatal:致命的,因为代码异常导致程序退出执⾏的事件。

 ⽇志级别的顺序:

越往上接收到的消息就越少,如设置了 warn 就只能收到 warn、error、fatal 级别的⽇志了。

⽇志级别设置

logging:
  level:
  root: error

 

import org.slf4j.Logger;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
public class UserController {
    // 1.得到⽇志对象
    private static Logger logger =
            LoggerFactory.getLogger(UserController.class);
    @Value("${server.port}")
    private String port;
    @Value("${spring.datasource.url}")
    private String url;
    @RequestMapping("/sayhi")
    public String sayHi() {
        // 2.使⽤⽇志打印⽇志
        logger.trace("================= trace ===============");
        logger.debug("================= debug ===============");
        logger.info("================= info ===============");
        logger.warn("================= warn ===============");
        logger.error("================= error ===============");
        return "Hi," + url;
    }
}

 ⽇志的输出级别,默认是 info.

⽇志持久化

配置⽇志⽂件的保存路径:
# 设置⽇志⽂件的⽬录
logging:
  file:
  path: D:\\home\\ruoyi
配置⽇志⽂件的⽂件名:
# 设置⽇志⽂件的⽂件名
logging:
  file:
  name: D:\\home\\ruoyi\\spring-1204.log

更简单的⽇志输出—lombok

添加 lombok 依赖

<dependency>
<groupId>org.projectlombok</groupId>
 <artifactId>lombok</artifactId>
 <version>1.18.20</version>
 <optional>true</optional>
</dependency>

输出⽇志

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/p")
@Slf4j
public class PersonController {
    @RequestMapping("/log")
    public void loggerTest() {
        log.error("------------------- error -----------------");
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值