1

私のプロジェクトは、Spring と Hibernate ベースです。私はSpring AOPに精通しています。

DAOレイヤーのメソッドが(サービスレイヤーによって)呼び出されるたびに、いくつかのロジックをチェックする必要があり、そのDAOレイヤーメソッドに基づいて処理を続行できるようにする必要があります。そこで、ここで AOP を使用することを考えていました。アスペクトには 1 つのメソッドがあり、アドバイスが適用される前に、いくつかのロジックがあり、それに応じて true または false を返し、アスペクトから返されたブール値に基づいて、DAO メソッドは永続化ロジックを実行し続けることができます。たとえば、trueが返された場合、DAO 永続化プロセスが発生し、falseが返された場合、永続化ロジックは発生しません。

しかし、私が直面している課題は、ブール値を Aspect から DAO レイヤー メソッドに返す方法です。

アドバイジング メソッド(つまり、Aspect で記述されたメソッド) からターゲット メソッドに、Before アドバイスで値を返すことはできますか? 助けてください。

4

1 に答える 1

0

DAO が「proceed/execute/doStuff」メソッドとインターフェイスを共有できる場合は、アドバイスからそれを呼び出すことができます (またはできない)。

そうでない場合は、DAO にフラグを追加してアドバイスから設定してから、DAO で先に進む前にフラグを確認し、メソッドを終了する前にデフォルトの状態に戻してください。

于 2012-09-28T15:46:21.230 に答える