spotbugs~lombok生成的Date属性引起的EI_EXPOSE_REP问题

EI_EXPOSE_REP是spotbugs,findbugs里通过代码分析抛出来的代码安全性问题,主要表示在一个Date类型的字段在进行@Getter注解时,没有检查它是否为空,这块我们有两种解决方案,第一种是手写Date类型的字段的Getter方法;第二种是安装com.google.code.findbugs:findbugs包,然后使用它的@SuppressFBWarnings注释,把这种问题忽略,我们介绍一下这两种方法。

第一种

重写它的setter方法

public void setBillDate(Date billDate) {
    this.billDate = billDate != null ? new Date(billDate.getTime()) : null;
}

第二种

使用引用findbug包

   <dependency>
            <groupId>com.google.code.findbugs</groupId>
            <artifactId>findbugs</artifactId>
            <version>3.0.1</version>
        </dependency>

在实体上添加SuppressFBWarnings注解即可

@Data
@SuppressFBWarnings(value = {"EI_EXPOSE_REP", "EI_EXPOSE_REP2"}, justification = "I prefer to suppress these FindBugs warnings")
public abstract class BaseEntity<T extends Model<?>> extends Model<T> {
    private Date createTime;
    private String createUser;
    private Date updateTime;
    private String updateUser;

}

再进行spotbugs:spotbugs时,这个错误就没有了。

posted @   张占岭  阅读(3624)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2019-09-02 jenkins-pipeline里使用docker命令
2016-09-02 Lind.DDD.Utils.HttpHelper里静态对象引出的Http超时问题
2011-09-02 点某个链接进网站,会发这个链接的会员加积分,实现方法(有时间限制)
点击右上角即可分享
微信分享提示