当前位置: 首页 > 知识库问答 >
问题:

类或方法上的注释建议

屠君墨
2023-03-14

我有以下问题:

我已经为安全性创建了注释:

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD, ElementType.TYPE})
@Inherited
@Documented
public @interface Security {
     Role[] roles();
}

在我具有类之间的继承性的情况下,是否也有可能所有类都具有@Security注释来获得最具体的定义?

约西

共有1个答案

卫增
2023-03-14

这应该可以工作(本机AspectJ代码,但如果您愿意,可以转换为@aspect):

pointcut secureMethods() : execution(@Security * *(..));

pointcut secureTypes() : execution(* (@Security *).*(..));

Object around(Security security) : secureMethods() && @annotation(security) {
    apply(security);
    return proceed(security);
}

Object around(Security security) : secureTypes() && !secureMethods() && @target(security) {
    apply(security);
    return proceed(security);
}
 类似资料:
  • 对于用@X注释的类中的方法或用@X注释的方法,我需要一个切入点。我还需要注释对象。如果类和方法都被注释,我更喜欢将方法注释作为参数。 我尝试了以下操作,这会产生“绑定不一致”的警告。(为什么不直接将其设置为null?) 以下内容创建了“穿过切入点中的“||”的参数x的不明确绑定”警告。(在我看来,这不一定有意义:为什么不绑定第一个短路评估?) 如果存在类和方法注释,则将前面的尝试拆分为两个,自然会

  • 问题内容: 我需要 在类中使用@X注释的方法或使用@X注释的方法的切入点 。我还 需要注释对象 。如果同时注释了类和方法,则 我更喜欢将方法注释作为参数 。 我尝试了以下操作,这将创建“不一致的绑定”警告。(为什么不将它们设置为null?) 下面创建“跨’||’的参数x的模糊绑定 在切入点”警告。(我认为这并不一定有意义:为什么不绑定第一个短路评估?) 如果存在类和方法注释,则将先前的尝试自然地分

  • 试图收集和理解@事务性注释的要点并越过了一点。因此,在使用事务性注释时,我们需要记住的主要事情是: 事务注释只能应用于公共方法[根据Spring@Transactional属性对私有方法起作用吗? 事务性注释应该应用于具体的类,而不是接口[根据我应该将@transactional annotation放在接口定义还是实现类的位置? 事务注释应应用于服务级别[根据Spring@Transaction

  • 我想在类级别上有注释,将执行注释类中的每个方法的建议。这可能吗。

  • 我有一些服务类,它们扩展了带有@Annotation1注解的BaseService类。在@Annotation1中还有另一个注释-@Annotation2。 我希望能够创建aspect方法,它在用@Annotation2注释的类中的所有方法之前运行,所以在任何扩展BaseService类的服务中都是如此。 当我直接在BaseService中应用@AnNotation2时,我可以运行方面方法,或者当

  • 注释: 方面: 有什么想法吗?谢了。