@PostConstruct
注釈の使用と、Spring XML設定のinit-method
と同じメソッドの宣言との間に違いはありますか?Spring @PostConstructとinitメソッドの属性の比較
75
A
答えて
114
実際には違いはありませんが、動作する方法には優先順位があります。 @PostConstruct
、init-method
はBeanPostProcessorsです。
@PostConstruct
init-method
は、初期化メソッドを有するSpringの方法であるJSR-250の注釈です。@PostConstruct
メソッドを使用している場合、これは初期化メソッドが呼び出される前に最初に呼び出されます。- BeanがInitializingBeanを実装し、
afterPropertiesSet
をオーバーライドした場合、最初に@PostConstruct
が呼び出され、次にafterPropertiesSet
、次にinit-method
が呼び出されます。
詳細については、Springのreference documentationを確認してください。
18
実際の違いはありません。それはあなたのシステムをどのように構成するのが好きか、それは個人的な選択の問題です。自分自身のコードに@PostConstruct
の注釈を使用することをお勧めします(メソッドが呼び出された後にのみBeanが正しく設定されるため)init-method
Spring以外のライブラリからBeanをインスタンス化するときに(もちろんアノテーションを適用できません!)しかし、私は完全にそれをやりたいと思う人々を理解することができます。
4
@postconstructはスプリングの一部ではありません。これはjavaxパッケージの一部です。どちらも同じです。 initメソッドを使用してxmlファイルに追加する必要があります。@postconstructを使用する場合は、xmlでの追加は不要です。下記の記事をご覧ください。
+0
記事の関連部分を表示できますか? – segarci
関連する問題
- 1. 属性 - 比較
- 2. クラス属性の比較
- 3. 変数と属性を比較する
- 4. XPathでの属性値の比較
- 5. 要素の属性の比較
- 6. SQLAlchemyオブジェクトインスタンスと属性の等価性の比較
- 7. 比較2つの属性 "一部"
- 8. メソッドの属性を使用したASP.NET MVCルーティングGETとPOSTの比較
- 9. xmlの属性と属性に混乱があります。値の比較
- 10. 属性を比較する方法
- 11. Javers - 比較する属性を選択
- 12. 属性で要素を比較する
- 13. ActiveRecordのは、元のレコードの属性と比較され
- 14. C#のノード名と属性名によるXMLの比較
- 15. GCC関数の属性とキャッシュの比較
- 16. HTML5属性の操作:Vanilla JSとjQueryの比較
- 17. 属性の検証他のIteratorの別の属性を比較する
- 18. @RequestBodyとSpringのHandlerMethodArgumentResolverとの比較
- 19. アンカーID属性を他のIDと比較する方法Jquery?
- 20. GWTとSpring MVCとの比較
- 21. Apache ShiroとSpring Securityの比較
- 22. JAX-RSとSpring Rest Servicesの比較
- 23. Spring - 単体テストでのinitメソッドのスキップ
- 24. クラス属性を変数と比較する
- 25. 属性と比較してArrayListを分割する
- 26. 日付とケースの比較とDatedifferenceメソッド
- 27. シングルトンクラスと静的メソッドとフィールドの比較?
- 28. 関数と静的メソッドとの比較
- 29. RichFacesカラム:比較対象の行に属性の値を保存
- 30. 2つのJsonオブジェクトの属性を比較する
Beanはこれらのメソッドの複数を使用して、初期化の順序に依存している場合、恐ろしく複雑でunmaintainableになるだろう。 –
@Donalまあまあです。この仕組みについての情報を提供していただけでした。 –
重要な違いがあります:アノテーションを処理して@PostConstructを動作させるためにSpringを具体的に設定する必要があります:http://stackoverflow.com/q/3434377/134898 –