栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringBoot的配置 和 日志文件

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringBoot的配置 和 日志文件

我们已经将SpringBoot创建好了,但是,我们针对其底层的配置还没有学习。

一、SpringBoot的配置 1 使用application.properties进行配置 1.1.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

//PS:小技巧:配置文件中使用“#”来添加注释信息。
1.2 读取配置文件

如果在项目中,想要主动的读取配置文件中的内容,可以使用 @Value 注解来实现
@Component 在 Spring Boot 启动时候会注入到框架中,注入到框架中时会执行
@PostConstruct 初始化方法,这个时候就能读取到配置信息了

package org.example.controller;


import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.PostConstruct;

// 也会注册Bean对象
// 相比@Controller,多了一个作用,将方法返回值作为Http相应正文
@RestController
@RequestMapping("/user")
@Slf4j
public class UserController {

    @Value("${my.user.name}")
    private String username;

    @PostConstruct
    public void init() {
        //System.out.println(username);
        log.debug("配置文件中的my.user.name" + username);
    }
}

我们从图中也可以看出其实使用这种配置书写是非常冗余的。

2 使用application.yml进行配置

yml 最大的优势是可以跨语言,不止是 Java 中可以使用 golang、python 都可以使用 yaml 作为配置文件。

2.1 .yml的基本语法。

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

 

 这样就看起来十分简洁明了。

2.2 yml 使用进阶

2.2.1 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: ~
2.3 读取配置文件

同1.2。

3. properties VS yml 总结
  • properties 是以 key=value 的形式配置的键值类型的配置文件,而 yml 使用的是类似 json 格式的树形配置方式进行配置的,yml 层级之间使用换行缩进的方式配置,key 和 value 之间使用“: ”英文冒号加空格的方式设置,并且空格不可省略。
  • properties 为早期并且默认的配置文件格式,但其配置存在一定的冗余数据,使用 yml 可以很好的解决数据冗余的问题。
  • yml 通用性更好,支持更多语言,如 Java、Go、Python 等,如果是云服务器开发,可以使用一份配置文件作为 Java 和 Go 的共同配置文件。
  • yml 虽然可以和 properties 共存,但一个项目中建议使用统一的配置类型文件
二、 SpringBoot的日志文件

学习编程,那我们使用日志来获取信息就错不了。SpringBoot在启动后,默认就有日志输出。        

 1 java的日志框架包括:

log4j:apache提供的日志框架

log4j2:log4j的升级版

logback:springboot默认的内置框架

slf4j:日志的桥接框架

2 日志的使用: 2.1  配置日志级别
  • trace:微量,少许的意思,级别最低;
  • info:普通的打印信息;
  • debug:需要调试时候的关键信息打印;
  • warn:警告,不影响使用,但需要注意的问题;
  • error:错误信息,级别较高的错误日志信息;
  • fatal:致命的,因为代码异常导致程序退出执行的事件。

 日志级别配置只需要在配置文件中设置“logging.level”配置项即可,如下所示

注意:使用情况在类上加注解 @Sef4j 
@PostConstruct
public void init() {
    //System.out.println(username);
    log.debug("配置文件中的my.user.name" + username);
}

使用日志打印对象,只会打印日志级别以上的内容。

 也可以使用字符串的方式打印

log.warn("配置文件中的my.user.name:{}",username);

在文件中打印

配置日志文件的保存路径:

# 设置日志文件的目录
logging:
    file:
      path: D:homexxx
配置日志文件的文件名:
# 设置日志文件的文件名
logging:
    file:
        name: D:homexxxxxx.xxx

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1032866.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号