Lombok 用来减少 Java 的样板代码。项目里常见的用法是 @Slf4j、@Getter、@Setter。它让代码短一些,但仍然只是编译期工具,不应改变类的职责设计。
一、日志声明
@Slf4j
@Component
public class ServiceGlobalFilter implements GlobalFilter, Ordered {
不用每个类手写 LoggerFactory.getLogger,日志变量名统一为 log,阅读和检索都更稳定。
二、模型代码
Entity、DTO、配置属性常用 @Getter、@Setter。这类代码没有复杂逻辑,交给 Lombok 可以减少噪音。
三、工具链要配好
项目同时使用 Lombok 和 MapStruct,父 POM 的编译插件配置了 annotation processor path 与 binding。这个细节很重要,否则生成代码和预期可能不一致。
四、避坑点
@Data不适合无脑用在所有类上,相等性语义容易被改变。- Lombok 减少代码量,不等于减少设计责任。
- 打包时 Lombok 被排除,运行期不依赖它。
- 团队使用注解要收敛,避免每个人都有一套习惯。
五、经验总结
Lombok 的定位很朴素:删掉重复样板,保留清晰模型。它适合做小工具,不适合用来掩盖混乱的类设计。