私はクラスにアノテーションを追加できない状況がありますが、編集できない何らかの種類のメタデータをBean(コード)に追加する方法はありますが、リファクタリングでは何が残っていますか? Beanを拡張して、そのクラスにアノテーションを追加するとどうなりますか?注釈の代わりに?
注釈の代わりに?
答えて
古い方法では、マーカーインターフェイス(Serializable
やCloneable
のようなメソッドのないインターフェイス)を使用します。
マーカーインターフェイスが邪悪です! – Guillaume
私は、アノテーションをクラスに追加できない場合、そのクラスはマーカーインタフェースを実装することはできないと考えています。 –
@Guillaume確かに彼は尋ねました;) –
IDEに応じて、プロパティやXMLなどのテキストファイル内のクラスまたはメソッドまたはフィールドを参照するだけで済みます。 IDEはこれらを見つけ、クラス/メソッド/フィールドの名前を変更すると、テキストの検索/置換を実行するように指定します。 (いくつかのリファクタリングは、このような別のクラスにメソッドを移動するので、うまく動作しませんが)
あなたはそれはあなたが外部から自分のクラスを編集することなく、特定のメソッドにビヘイビアを追加することができますAOP http://static.springsource.org/spring/docs/2.5.x/reference/aop.html
検討することができます。余分なコードは、メソッドの前後、前後にすることができます。
あなたが達成したいことを正確に伝えることなく、必要なものを推測するのは難しいです。
良いアイデアですが、他のコードのメタデータとしてAOPによって提供された情報をどのように使用できますか? (申し訳ありませんが、私は他の回答で私のコメントを削除しましたが、私はあなたの返事を見ませんでした) –
私は質問があいまいであると言ったように私はよく分かりません。基本的に注釈(缶)が提供するものである、それを変更せずにクラスに振る舞いを加える可能性のある解決策として、私は驚くばかりです。メタデータとは、さまざまな意味があります。 – Guillaume
他のコードから使用するにはメタデータが必要ですか、それとも人間にとっては読みやすいはずですか?
あなたのクラス(Javassistの、いくつかのAOPなど)に任意のデータを追加するために、コード計測を使用することができますあなたはメタデータと並行してクラス階層を追加することができます。例えば、BeanInfo
のようなクラスは、Java Beanのメタデータを提供します。
コードを変更できない場合は、クラスをキーとしてグローバルデータマップにメタデータを配置できます。
- 1. @PreUpdate注釈の代わりにEclipseリンク?
- 2. 代わりにJAXBクラス名注釈
- 3. Intellijのアイデア:getterの代わりにプロパティのJPA注釈
- 4. struts.xmlのタグresult-typeの代わりにStruts2注釈
- 5. symfony 2の注釈の代わりにxmlを使用するセキュアコントローラのメソッド
- 6. 割り当て注釈への画像の代わりに、ピンIは、カスタムイメージに私の注釈にピンを交換しようとしています
- 7. UIMA RUTA注釈の組み合わせ
- 8. Morris.jsに注釈/注釈を追加
- 9. 注釈型が覆われたテキスト
- 10. Spring mvc注釈検証のカスタム注釈
- 11. Woocommerce 404ページの代わりに、管理者の注文リストページ
- 12. 注釈とリソースと自動注釈付き注釈
- 13. テストモジュールの代わりにRoboGuiceユニットテスト注入モジュール
- 14. 角度2:代わりに、コンストラクタ・インジェクションのプロパティ注射
- 15. シングルトンの代わりに依存性注入を使用する
- 16. JPA 2.0フィールド注釈対メソッド注釈
- 17. の代わりに
- 18. (注釈)
- 19. 注釈
- 20. Python型注釈:プロパティに注釈を付ける方法はありますか?
- 21. SSOの代わりにSelenium Webdriverの代わりに
- 22. MySQLの代わりにCOUNT(*)OVER(PARTITION BY mct.MasterTableid)の代わりに
- 23. java印刷の代わりに0の代わりに
- 24. asp.netの代わりにasp.netの代わりにmvc
- 25. コントローラーの@FXML注入の代わりのJava?
- 26. サイズイメージピンの注釈
- 27. スウィフトマップキットの注釈
- 28. Nashornの注釈
- 29. ユニットテストの注釈?
- 30. 式の注釈
メタデータの使い方を明確にすることはできますか? –