Lombok是一款Java开发中常用的工具库,它提供了许多注解,可以简化代码的编写。其中,@Builder注解可以帮助我们快速生成Builder模式的代码,但在使用过程中,我们也需要注意一些细节,否则可能会出现一些问题。下面分享一些我在实际开发中遇到的问题,希望大家引以为戒。
在预发环境测试时,Kafka消费出现告警,经排查后发现原因是数据插入失败,一直在重试。本次在数据库中新增了字段,所以很快定位到问题出在了新字段上。
// 这里简化了业务类,只是为了说明情况
import lombok.Data;
@Data
public class Reason {
// ...业务字段
private String id;
@Builder
@Getter
@ToString
public static class Param {
// ...业务字段
private long type;
private String opUserName = "";
}
}@Service
public class Service {
// ...业务逻辑略
// 调用
public void call() {
// ...业务逻辑略
Reason.Param param = Reason.Param.builder().type(type);
// ...业务逻辑
}
}public static class ParamBuilder {
// ...略过其他代码
// 对应的set方法,这里以reason为例子
public Param.ParamBuilder opUserName(String opUserName) {
this.opUserName = opUserName;
return this;
}
}为了避免这样问题的出现,我们可以采取以下措施:
总之,最终还是有惊无险的解决了问题,还好是预发环境。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。