有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案