类和方法的自定义注释

时间:2013-10-25 03:57:28

标签: java spring-mvc annotations customization aspectj

我是否可以在类上放置自定义注释,然后强制开发人员将注释放在方法上?

假设我有三个自定义注释

  1. @Loggable
  2. @MySQLLoggable
  3. @CassandraLoggable
  4. 当我在课堂上添加 @Loggble 注释时,它强制开发人员通过 @MySQLLoggable @CassandraLoggable 来注释其所有方法。

    更新我!

    EDITED

    @Loggable // Suppose I put this annotation on class
    public class Service {
    
    
    @MySQLLoggable //eclipse forceful the developer 
                  //to put  @MySQLLoggable or @CassandraLoggable on sayHello()
    public String sayHello() {
        return null;
    }
    
    }
    

2 个答案:

答案 0 :(得分:0)

使用@interface

    public @interface foo {

    String str();

    }



    @foo(str = "str")
    public class myClass{

    }

修改

    public @interface loggable {

    @loggable1(method) @loggable2(method))
    String foo();

    }

答案 1 :(得分:0)

很抱歉,如果您希望IDE让开发人员使用您的自定义注释,那么您最好阅读IDE规范和可能的自定义。如果您希望稍后在执行期间,如果没有注释方法,则应用程序将抛出异​​常,然后您必须使用反射。让我们保存您使用工厂模式来创建对象。因此,在创建它们之前,您可以检查是否所有方法都已注释,如果不是全部,则抛出异常。我再次相信你必须使用反思..这只是一种方式!