この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 16470|答える: 0

[出典] Java annotations@PostConstructと詳細な説明、@PreDestroy例

[リンクをコピー]
掲載地 2019/04/04 16:21:12 | | | |
簡単な紹介

Java EE5はサーブレットのライフサイクルに作用する2つの注釈、@PostConstructと@PreDestroyを導入し、ビーンが初期化される前と破棄される前にカスタム操作を可能にします。 この記事は主に@PostConstructについて説明します。

API使用命令

以下は@PostConstruct APIの使用手順です:

PostConstructの注釈は、依存注入が完了した後に初期化を行うために実行が必要なメソッドに使用されます。 このメソッドはクラスをサービスに投入する前に呼び出す必要があります。 依存注入をサポートするすべてのクラスは、この注釈をサポートしなければなりません。 たとえクラスがリソース注入を要求しなくても、PostConstructで注釈付きで示されたメソッドを呼び出さなければなりません。 この注釈で注釈を付ける方法は一つだけです。 PostConstructアノテーションを適用する手法は、以下のすべての基準を満たす必要があります。EJB仕様で定義されたEJBインターセプタの場合を除き、パラメータを持たないこと。その場合はInvocationContextオブジェクトを含みます。 メソッドのリターン型はヴォイドでなければなりません。 メソッドはチェックされた例外をスローしてはなりません。 PostConstructの適用方法は、公開、保護、パッケージプライベート、またはプライベートのいずれかに分けられます。 メソッドはアプリケーションクライアント以外は静的にはできません。 この方法は最終的なものになり得ます。 もしメソッドがチェックされていない例外を投げた場合、そのクラスは例外を処理し回復できるEJBでない限り、サービスに置かれてはいけません。
まとめると、

  • この注釈で注釈を付ける方法は一つだけです。
  • 注釈付きメソッドにはパラメータがあってはなりません。
  • 注釈付きメソッドは void の値を返します。
  • 注釈付きメソッドはチェックされた例外をスローしてはなりません。
  • 注釈付きメソッドは非静的メソッドでなければなりません。
  • この方法は一度だけ実行されます。


サーブレット実行フローチャート

2つの注釈を加えても、サーブレットはフローチャートのみを実行できます。



特定のビーンのインスタンス化プロセス中、アノテーションされたメソッド@PostConstructはコンストラクトメソッドの後、initメソッドの前に呼び出されます。



Spring Bootを基に書かれた実行可能メソッドはgithubで見つけることができます:https://github.com/HappySecondBrother/example

UserServiceメソッド(キャッシュデータの提供):

BusinessServiceメソッド、UserServiceを@PostConstructで呼び出しる方法:

実行結果:

プロジェクト応用

project@PostConstructの主な応用シナリオは、サーブレットの初期化時にキャッシュデータを読み込むことです。

注記:

この注釈を使うとサービスの開始時間に影響します。 サーバーは起動時にWEB-INF/クラス内のすべてのファイルとWEB-INF/libの下のすべてのjarパッケージをスキャンします。





先の:リスナーに@Autowiredを注入できない
次に:高性能MySQL第3版中国語PDF
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com