1

public static Class[] items;アプリケーションの開始時に注釈を持つクラスで埋めたい静的フィールドがあり@ItemExampleます。クラスの例 (簡略化):

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
         }
    }

したがって、アプリケーションの開始時 (デプロイメント、ServletCONtextListneres の実行開始前) (Tomcat で実行) にitem classes=={Item1.class, Item2.class}generalMethod()また、各クラスで ofをオーバーライドしたいのですGeneralItemが、このメソッドは静的であるため、各クラスは独自のメソッドを宣言します。

4

1 に答える 1

1

GoogleReflectionsランタイム検索と

Evoクラスインデックスコンパイル時検索

助けた。

于 2012-08-10T08:55:29.493 に答える