のは、我々は次のJavaコードを持っていると仮定しましょう:列挙型のマップと依存性注入
public class Maintainer {
private Map<Enum, List<Listener>> map;
public Maintainer() {
this.map = new java.util.ConcurrentHashMap<Enum, List<Listener>>();
}
public void addListener(Listener listener, Enum eventType) {
List<Listener> listeners;
if((listeners = map.get(eventType)) == null) {
listeners = new java.util.concurrent.CopyOnWriteArrayList<Listener>();
map.put(eventType, listeners);
}
listeners.add(listener);
}
}
このコードスニペットは、各リスナーがイベントの種類を言っているビット改善リスナーパターン以外の何ものでもありません関心があり、提供されたメソッドはこれらの関係の同時マップを維持します。
は当初、私はこの方法は、私自身のアノテーションフレームワークを経由して呼び出すことがしたかったが、様々な注釈の制限のレンガの壁にぶつかった(例えば、あなたが注釈のparamとしてjava.lang.Enumを持つことができない、もありますさまざまなクラスローダー問題のセット)は、Springを使用することに決めました。
誰も私にどのように私にSpring_ify_を教えてもらえますか?私が達成したいのは、
です。メンテナクラスをSpring beanとして定義します。
2.すべてのリスナーが、addListenerメソッドを使用して、メンテナにXMLで登録できるようにします。春のdocやGoogleは非常に寛大な例です。
これを簡単に達成する方法はありますか? addListenerと「メンテナ」インタフェース(リスナー、列挙型)メソッドを定義
次のようなことをやってと間違っているだろう何
まあ、それは私が言ったまさにだ - "あなたは注釈PARAMとしてjava.lang.Enumを持つことができません"。私は春にこれをどうやってやるのですか? – mindas