java创建自定义注释以修改对象中的属性
我想创建一个类级别的注释,它将检查类中的每个属性,并根据属性的类型进行一些定义的修改,如下所示
@Entity
@Getter @Setter
@Table(name = "BASIC", schema = "AXLES")
public class CoAxle {
private int cAx;
private String cAxOrigin;
private int pAx;
private String pAxOrigin;
}
在上面的代码片段中,我必须执行一些操作,比如如果属性是整数,属性值是负数,那么它应该返回0而不是负数,如果属性类型是字符串,那么它只需要修剪字符串并返回修剪过的字符串
到目前为止,我已经尝试使用下面的AttributeConverter接口来实现这一点
@Converter
public class StringTrimConverter implements AttributeConverter<String, String> {
@Override
public String convertToDatabaseColumn(String attribute) {
return attribute;
}
@Override
public String convertToEntityAttribute(String dbData) {
return dbData.trim();
}
}
@Entity
@Table(name = "ViewAddress")
public class PostalAddress extends DbObject {
@Convert(converter = StringTrimConverter.class)
private String street;
@Convert(converter = StringTrimConverter.class)
private String number;
(...)
但这里的挑战是,我必须在每个属性的顶部提到注释,在我的代码中,属性的计数将增加到100或更多,所以我希望避免这种重复的注释,相反,如果我可以在类级别声明注释,只需检查类及其属性和属性类型,并像Lombok项目中的Getter注释那样进行相应修改
共 (0) 个答案