Spring Boot将声明日志步骤抽离出来做一个复用类

上文Spring Boot日志基础使用 设置日志级别中我们写了个比较基本的日志操作
但也随之产生了一个问题
Spring Boot将声明日志步骤抽离出来做一个复用类_第1张图片
我们这行代码 能不能不写?

具体说 我们不希望每个需要日志的类都声明一个在这 看着太不美观了
我们最简单方法当然是继承

我们找个目录创建一个类 叫 BaseClass
参考代码如下

package com.example.webdom.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class BaseClass {
    private Class<?> clazz;
    public static Logger log;

    public BaseClass(){
        clazz = this.getClass();
        log = LoggerFactory.getLogger(clazz);
    }
}

Spring Boot将声明日志步骤抽离出来做一个复用类_第2张图片
这里 我们先将日志对象 和当前类的对象都定义出来 但是不赋值

然后 在构造方法中 那当前的类 赋值之后 传给日志对象
这样 谁继承我们 我们日志套的就是谁 达到了代码复用的效果

然后 我们这边 将原本这个类 声明日志的代码去掉 继承一下我们自己写的这个通用日志类
Spring Boot将声明日志步骤抽离出来做一个复用类_第3张图片
写完了 我们来测试一下
然后启动项目

然后我们访问这个接口
Spring Boot将声明日志步骤抽离出来做一个复用类_第4张图片
可以看到 这边一切正常
Spring Boot将声明日志步骤抽离出来做一个复用类_第5张图片

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