Lombok 可以帮助简化代码,比如自动生成 getters 和 setters、构造函数、日志记录等等。在 Spring Boot 项目中整合 Lombok 并实现日志功能非常简单。
下面是一个完整的示例,演示如何在 Spring Boot 项目中使用 Lombok 来实现日志功能。
1. 引入 Lombok 依赖
在 pom.xml
文件中添加 Lombok 和 Spring Boot Starter Web 的依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
2. 在 Spring Boot 应用程序主类中使用 Lombok 日志功能
创建一个新的 Spring Boot 应用程序主类 Application.java
,并使用 Lombok 提供的 @Slf4j
注解来简化日志记录。
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import lombok.extern.slf4j.Slf4j;
@SpringBootApplication
@Slf4j
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
log.info("Application has started.");
}
}
3. 创建一个示例控制器
创建一个示例控制器类 HelloController.java
,并使用 Lombok 的 @Slf4j
注解来记录日志。
package com.example.demo.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import lombok.extern.slf4j.Slf4j;
@RestController
@Slf4j
public class HelloController {
@GetMapping("/hello")
public String hello() {
log.info("Handling hello request");
return "Hello, World!";
}
}
4. 配置日志级别(可选)
在 src/main/resources/application.properties
文件中配置日志级别。例如,设置日志级别为 INFO
:
logging.level.root=INFO
5. 运行应用程序
运行 Application
类,启动 Spring Boot 应用程序。然后在浏览器中访问 http://localhost:8080/hello
,你将在控制台中看到日志输出。
6. 验证日志输出
启动应用程序后,访问 /hello
端点,你应该会在控制台看到如下日志输出:
2024-05-20 12:00:00.000 INFO 12345 --- [ main] com.example.demo.Application : Application has started.
2024-05-20 12:00:10.000 INFO 12345 --- [nio-8080-exec-1] com.example.demo.controller.HelloController : Handling hello request
这就是在 Spring Boot 项目中整合 Lombok 并实现日志功能的完整示例。Lombok 的 @Slf4j
注解自动提供了一个名为 log
的日志记录器对象,可以直接使用它来记录日志。