架构师_程序员_码农网

ユーザー名 パスワード取得
会員登録

QQ登录

ワンステップ

検索
閲覧:10960|返信: 0
打印 上一主题 下一主题

[ソース]Javaアノテーション@PostConstructと静的コンストラクタの違い

[コピーリンク]
最近、会社のプロジェクトで@PostConstructアノテーションに出くわしたのですが、意味がわかりませんでした。

レビューをお願いします:

Javaのアノテーション@PostConstructと@PreDestroyの詳細と例
https://www.itsvse.com/thread-7386-1-1.html


を調べ、以下のようにまとめました:

1、Java EE5の仕様から、ServletはServletのライフサイクルに影響を与える2つのアノテーション、@PostConstructと@PreDestroyを追加しました、これらの2つのアノテーションは、非静的なvoid()メソッドを変更するために使用されます。これは、次の2つの方法で記述します:

PostConstruct

public void someMethod(){} です。

または

public @PostConstruct void someMethod(){} です。

postConstructはコンストラクタの後、init()メソッドの前に実行されます。preDestroy()メソッドはdestruct()メソッドが判明した後に実行されます。



また、春はConstructor、@Autowired、@PostConstructの順番です。

実は、依存性注入の文字通りの意味から、オブジェクトpをオブジェクトaに注入するには、まずオブジェクトaとオブジェクトpを生成して注入する必要があることがわかります。つまり、クラスAに@Autowriedでアノテーションされたメンバ変数pがある場合、@AutowiredインジェクションはAのコンストラクタ・メソッドの実行後に発生する。

オブジェクトが生成されるときに何らかの初期化処理を行いたい場合、それが依存性注入に依存するのであれば、コンストラクタでそれを行うことはできません。これを行うには、メソッドに@PostConstructのアノテーションを付け、依存性注入が完了した後に自動的に呼び出されるようにします。

コンストラクタ >> @Autowired >> @PostConstruct









前の記事:【実践】Redisビジュアル管理ツール(redis-manager)をDockerインストールする
次の記事:Kafkaのauto.offset.reset値の詳細
コードファーマーネットワークは、唯一の練習過程で公開され、技術的な困難に遭遇し、他の人を誤解させない。
投稿するにはログインが必要です ログイン会員登録

このバージョンのインテグラルルール


免責事項:Code Farmerによって公開されたすべてのソフトウェア、プログラミング教材や記事は、学習と研究の目的のみに使用するために制限されています。上記のコンテンツは、商業的または違法な目的のために使用してはならない、そうでなければ、すべての結果は、ユーザー自身が負担するものとします。本サイトはネットワークからの情報であり、著作権紛争は本サイトとは関係ありません。上記のコンテンツはダウンロード後24時間以内にコンピュータから完全に削除する必要があります。もしあなたがこのプログラムを気に入ったなら、正規のソフトウェアをサポートし、登録を購入し、より良い正規のサービスを受けてください。もし著作権侵害があれば、メールでご連絡ください。

メール To:help@itsvse.com

QQ|( 鲁ICP备14021824 号-2)|サイトマップ

GMT+8, 2024-9-19 02:20

クイック返信トップに戻る一覧に戻る