首页 > 解决方案 > 如何使用自定义注释在 Spring Boot 中隐藏带注释的字段?

问题描述

我创建了添加到我的 Java 类字段的自定义注释。当我创建该类的对象时,我希望我的自定义注释字段具有值:null 或“”或“customAnnotation” 例如:

@Entity
public class User implements Serializable{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "address_id")
private Long id;

@MyCustomAnnotation
private String firstname;

private String lastname;
....

当我在项目的某处创建对象时:

User user = new User();
user.setFirstname("John");
user.setLastname("Smith");

我希望它是:

String firstname = user.getFirstname() // firstname is "" or null
String lastname = user.getLastname()   // lastname is "Smith"

如何创建方法来查找项目中所有类中的所有注释字段并对所有类执行相同操作?这个方法存放在哪里?我正在研究 Maven,Spring Boot 项目。

标签: javamavenspring-bootannotationsaop

解决方案


在您的代码中的某个时刻,您将不得不实现如下内容:

Class<User> obj = User.class;

if (obj.isAnnotationPresent(MyCustomAnnotation.class)) {
  //your business logic
}

类似这样的事情的明智的地方是在创建用户时,在获取用户时(无论出于何种原因使用注释)或在定时例程中的间隔。

编辑:见本教程:https ://www.mkyong.com/java/java-custom-annotations-example/


推荐阅读