AOP (アスペクト指向プログラミング): AOP の専門用語は「アスペクト指向プログラミング」です。私の理解では、ソースコードを変更せずに機能を拡張することです。それでは、aop アノテーションの方法について説明します。ちなみに
1. aopアノテーションメソッドの環境構築(以下のパッケージをインポート)
2. 実装
環境構築後、プロジェクトを作成します。
1.インターフェースクラス(CustomerDao)を作成し、メソッドを2つ追加する
2.インターフェースクラスを作成したら、新しい実装クラス(CustomerDaoImpl)を作成し、インターフェースにメソッドを実装するのが自然です
3. 上記の基本作業が完了したら、springIOCの考え方を利用して、customerDaoImplクラスをspring管理に引き渡す必要があります
srcディレクトリにapplicationContext.xmlという名前のxmlファイルを作成します
BeanはSpring のタグペア、小さなアイテムとして理解できます。ID は選択した名前ですが、通常はクラス名であり、最初の文字は小文字です。クラスに追加されるのはクラスのフルパスです
。自動アノテーション/エージェントをオンにする: 自動がオンになっている場合のみ、エージェント、次に書くアノテーションには実際のアプリケーションが含まれます
4. 環境と基本クラスが記述され、次に実装用のデモクラスを作成できます
まず、Springコンテナに存在するCustomerDaoImplクラスを取り出す必要があります
コード「1」と「2」がこれを行います。
名前のとおり、どこから取得するかを指定する必要があるので、パスを与える必要があります
「2」は依存性注入と呼ばれるアノテーションの方法です: XML に昔書いたクラスを注入しますファイルを customerDao フィールドに追加します。 @Resource の名前は前の Bean の ID 値を参照します
次のステップはテストです (コード '3''4' を追加する必要があります)、 run1() を記述して @Test を追加しますメソッドに移動し、テスト時にメソッドをダブルクリックします。 名前を選択した後、右クリックして [Run on junit] を選択します。これは非常に便利な単体テストです。
上記の準備により、run1 メソッドの実行後、実装クラスの 2 行の出力が表示されます
III. AOP アスペクト クラス
1. アスペクト クラス MyAspectAnno.java を作成します (設定ファイルにBeanを追加してSpring管理に引き継ぎ続ける)
2. 強化が必要な関数型メソッドを追加
valueのコードは式で、publicの後の*はを参照しています戻り値の種類を問わず、save() は関数を拡張または追加する場所を指します。これは、アノテーション @After の下のメソッドが save() の実行後に実行されることを意味します。 ) これは強化されました
しかし、さらに多くの通知 (サラウンド通知、事前通知など) を記述する場合、毎回式コードを追加する必要があり、コピー アンド ペーストも非常に面倒です。エントリポイントを作成し、次のように実装します:
今後これを実行するだけで済み、周囲の通知が以下に追加されます:
値は長い式ではなくなり、これも将来のメンテナンスに便利です
上の図は非常に明確です。AOP アイデアと注釈を使用して、機能拡張が正常に実装されたことがわかります (追加した通知は、エントリ ポイント (save()) の前後で実行されます)。
以上が春のAOPのアノテーション方法の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。