java - 如何使用自定义注释在 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 项目。
解决方案
在您的代码中的某个时刻,您将不得不实现如下内容:
Class<User> obj = User.class;
if (obj.isAnnotationPresent(MyCustomAnnotation.class)) {
//your business logic
}
类似这样的事情的明智的地方是在创建用户时,在获取用户时(无论出于何种原因使用注释)或在定时例程中的间隔。
编辑:见本教程:https ://www.mkyong.com/java/java-custom-annotations-example/
推荐阅读
- mongodb - 在验证它不存在后将新项目添加到数组中
- java - 如何解决以下代码中的 NullPointerException 错误?设置文本 int TextField 时引发错误
- r - 在 Watson Studio 中使用 Rstudio + sparklyr 对大型数据集进行数据操作的一些失败
- python - 使用 pandas 在 python 中将值写入 excel
- scala - 在 Scala 对象中按字符串格式的日期排序
- php - php:如何获取数组的倒数第二个元素?
- javascript - MapView - 放置在彼此顶部的图标
- javascript - 语法错误意外令牌'>'
- c# - 字典初始值设定项的类型
- c++ - 我创建了双端队列
并添加了不同类型的元素。如何更改此元素的属性?