java - 如何为实体中的修剪字段制作自定义注释?
问题描述
在 Spring Boot 和 Java 8 中,有多个模型:DTOs、Entities、ViewModels 等,但需要获取并保存一个人的描述,但描述需要修剪值,例如:
@Size(min=0, max=1024)
private String description;
public String getDescription() {
return ((this.description != null) ? this.description.trim() : null);
}
public void setDescription(String description) {
this.description = ((description != null) ? description.trim() : null);
}
我做了一个自定义注释,就像@Trimmed
自动化它一样:
@Trimmed
@Size(min=0, max=1024)
private String description;
我尝试制作界面和方面:
修剪的.java
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Trimmed {
}
TrimmedAspect.java
@Aspect
@Component
public class TrimmedAspect {
@Around("@annotation(Trimmed)")
public Object requestIntercept ...
}
但是,如何制作方面?在互联网上可以找到使用函数和类声明但在获取和设置值时没有字段的示例。
怎样才能做到这一点?
解决方案
我刚刚在我的组件事件中使用 AOP 制作了一个示例自定义注释,对此负责:我刚刚尝试了这段代码,也许它有帮助:它将在创建用户后执行
@AfterReturning(value = "execution(* ypour.package..*(..))", returning = "retVal")
public void requestIntercept(JoinPoint pjp, Object retVal) throws JsonProcessingException {
//----- your implementation here
}
}
}
推荐阅读
- image - 使用 minio 上传图像缓冲区
- c# - 如何使用实体框架生成随机数并检查它是否已存在于数据库中
- python - 找不到工作代码和不工作代码之间的区别
- node.js - 使用 bind 减少回调地狱
- python - Python 3.8 中 pyFFTW (scipy.fftpack) 的导入错误
- java - Azure 中的缓存
- python - 预期 activation_8 的形状为 (2,) 但得到的数组形状为 (1,)
- java - 如何在不从 Eclipse 收到警告的情况下抑制容易出错的警告?
- c# - 如何在 C# 中过滤数组(使用正则表达式)
- flutter - 使用标签栏过滤 GridView 中的项目