本文已参与「新人创作礼」活动,一起开启掘金创作之路。
@Slf4j 是用作日志输出的,一般会在项目每个类的开头加入该注解,可以简化代码。
一、使用 @Slf4j 标签,idea 首先需要安装 lombok 插件。
安装完毕后需要重启 idea。
二、在 pom.xml 文件加入lombok的依赖
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.6</version>
</dependency>
三、类上面添加 @Slf4j 注解,然后使用log打印日志
package com.test.controller;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
/**
* @description
* @date 2019/12/17 16:01
*/
@RestController
@RequestMapping("/test")
@Slf4j
public class TestController {
// private static Logger logger = LoggerFactory.getLogger(TestController.class);
@RequestMapping(value = "/testLog", method = RequestMethod.GET)
public String testLog(HttpServletRequest request) {
log.info("名字:{}", request.getParameter("name"));
return "HelloWorld";
}
}
使用 @Slf4j 可取代上述代码块中注释掉的部分,可以在代码中直接使用 log.info( ) 打印日志,简化了代码。
Java 类上面添加 @Data,可以省去 setter 与 getter、toString 方法的书写,在编译时,会自动添加到class中。 idea 安装 lombok 插件,步骤见 @Slf4j 标签的使用
Java 类如下:
package com.test.entity;
import lombok.Data;
/**
* @description
* @date 2019/12/17 17:24
*/
@Data
public class Student {
private String studentId;
private String studentName;
}
测试代码如下:
package com.test.controller;
import com.alibaba.fastjson.JSON;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import com.test.entity.Student;
/**
* @description
* @date 2019/12/17 16:01
*/
@RestController
@RequestMapping("/test")
@Slf4j
public class TestController {
@RequestMapping(value = "/testData", method = RequestMethod.GET)
public String testData() {
Student student = new Student();
student.setStudentId("12345");
student.setStudentName("张三");
log.info("学生信息:[{}]", JSON.toJSONString(student));
log.info("学生姓名:[{}]", student.getStudentName());
return "HelloWorld";
}
}
测试时,后端输出:
学生信息:[{"studentId":"12345","studentName":"张三"}]
学生姓名:[张三]