EI_EXPOSE_REP是spotbugs,findbugs里经过代码分析抛出来的代码安全性问题,主要表示在一个Date类型的字段在进行@Getter注解时,没有检查它是否为空,这块咱们有两种解决方案,第一种是手写Date类型的字段的Getter方法;第二种是安装com.google.code.findbugs:findbugs
包,而后使用它的@SuppressFBWarnings注释,把这种问题忽略,咱们介绍一下这两种方法。安全
重写它的setter方法this
public void setBillDate(Date billDate) { this.billDate = billDate != null ? new Date(billDate.getTime()) : null; }
使用引用findbug包google
<dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>findbugs</artifactId> <version>3.0.1</version> </dependency>
在实体上添加SuppressFBWarnings注解便可code
@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时,这个错误就没有了。get