【问题标题】:custom annotation based upon logic and modify the variable value in java spring基于逻辑的自定义注解并修改java spring中的变量值
【发布时间】:2022-01-21 16:15:39
【问题描述】:

在 Java 中,我们可以使用自定义注解来验证字段,但除此之外,我们还可以使用 Java 或 Spring Boot 中的自定义注解基于逻辑设置变量的值。 请参阅下面的示例

@CustomAnnotation
private String name;

如果setter方法将值设置为"$123See",我们的自定义注解会通过删除一些字符或根据我们自己的逻辑自动将值修改为"see"

【问题讨论】:

  • 有可能,是的。但老实说:在注释(及其处理器)后面隐藏这样的东西似乎不必要的复杂。为什么不提供解析String 并提取值的服务?

标签: java spring rest


【解决方案1】:

如果没有后台进程,这是不可能直接实现的。基本上,属性注释是通过类分析来执行和填充的。

#1方式:为私有属性创建一个setter方法并在其上定义annotate。因此,您必须为您的注释定义(示例)@Around AOP。 https://www.baeldung.com/spring-aop-annotation

#2 方式:您将注释添加到属性中,并且必须在设置属性之后或使用其他逻辑设置之前直接使用 Java 反射对其进行分析。 https://www.baeldung.com/java-custom-annotation

(可以在反射临时写私有属性:Set private field value with reflection

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 2012-06-30
    • 2016-10-13
    • 2015-04-18
    • 2021-05-15
    • 1970-01-01
    • 2018-07-19
    相关资源
    最近更新 更多