如何在我的建议中获得注释参数的值。我有如下场景:
@Custom
public void xxxx(@Param("a1") Object a, @Param("a2") Object b)
{
//TODO
}
我希望为所有具有@Custom注释的方法定义切入点,这里没有什么花哨的。问题是我想在建议中获取用@Param标记的参数和注释本身的值。这种带注释的参数的数量不是固定的,可以有任何数量,也可以根本没有。
到目前为止,我已经使用了反射,我能够获取带有注释的参数,但不能获取注释的值。
这就是我获得注释价值的方式:
我的注释是@Name:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
@interface Name {
String value();
}
有代码负责获取它:
Annotation[][] parametersAnnotations = method.getParameterAnnotations();
for (int i = 0; i < parametersAnnotations.length; i++) {
Annotation[] parameterAnnotations = parametersAnnotations[i];
Annotation nameAnnotation = null;
for (Annotation annotation : parameterAnnotations) {
if (annotation.annotationType().equals(Name.class)) {
nameAnnotation = annotation;
break;
}
}
if (nameAnnotation != null) {
String textInAnnotation = ((Name)nameAnnotation).value();
}
}
我在想一个一般的请求映射问题。在不选择任何特定MVC框架的情况下,将基于注释的请求映射与简单的参数检查器映射进行比较,哪一个更好? 假设我想创建一个web服务,它应该处理例如“添加”和“删除”操作。 使用注释,它看起来像这样: 使用参数,它将如下所示: 在第二个示例中,假设Operation对象是从JSON对象构建的。我们的想法是,我们只有一个通用的操作,它有一个类型参数,我们总是调用相同的请求(
我有一个可用于注释的方面: 连接点: 我可以在具有
我正在使用hibernate注释,为此,在中,我需要添加注释类,比如这里p是包名,Customer是注释bean。 假设我有20个此类注释类,这意味着我必须为该类编写20个映射行。在Spring中,有一个属性,可以用来注册/加载指定包中的所有hibernate注释类。 既然我没有使用Spring,那么我们可以在Hibernate中拥有相同的功能吗?
我创建了自定义注释。我将用它来注释方法参数。 我在这里找到了一些示例代码,展示了如何创建针对自定义注释的切入点。 所以现在,我创建了一个带切入点的方面。但是我不知道如何获得用注释的参数值。
以下是我在泽西使用的方法签名,当我调试/运行程序时,我收到错误: [[致命]方法公共javax。ws。rs.core。响应com。xxxx。xxxxx。Xxxxx。xxxxx。资源类com上的xxxxxxxx(java.lang.String、java.lang.String、java.lang.String、javax.ws.rs.container.ContainerRequestContex
假设我有这样一种方法: 是否有一个切入点表达式可以选择所有参数带有@CustomAnnotation注释的方法?如果是这样的话,有没有一种方法可以让我访问“value”参数?