Java 带有注释(标记)类的AOP AspectJ静态字段初始化

Java 带有注释(标记)类的AOP AspectJ静态字段初始化,java,static,annotations,aop,aspectj,Java,Static,Annotations,Aop,Aspectj,我有一个静态字段公共静态类[]项我希望在应用程序开始时用带有@ItemExample注释的类填充它。示例类(简化): 因此,在应用程序的开始(部署,在ServletCOntextListneres开始执行之前)时间(在Tomcat中运行)item classes=={Item1.class,Item2.class}。另外,我希望每个类都重写GeneralItem的generalMethod(),但是这个方法是静态的,所以每个类都声明它自己的方法。运行时搜索和 编译时搜索 帮助。运行时搜索和 编译

我有一个静态字段
公共静态类[]项
我希望在应用程序开始时用带有
@ItemExample
注释的类填充它。示例类(简化):

因此,在应用程序的开始(部署,在ServletCOntextListneres开始执行之前)时间(在Tomcat中运行)
item classes=={Item1.class,Item2.class}
。另外,我希望每个类都重写
GeneralItem
generalMethod()
,但是这个方法是静态的,所以每个类都声明它自己的方法。

运行时搜索和

编译时搜索

帮助。

运行时搜索和

编译时搜索

有帮助

public class ItemUtil{
public static Class[] itemClasses;
public static void actionsWithAllItemClasses(
//call some general method of classes in array using reflection API
)
}



  @ItemExample
    public class Item1 extends GeneralItem{
     public static void generalMethod(){
    //Item 1 specific action
        }
    }

    @ItemExample
    public class Item2 extends GeneralItem{
    public static void generalMethod(){
    //Item2 specific action
         }
    }