0

Spring MVC に基づくアプリケーションに監査ログ機能を追加するための Spring の AOP フレームワークを検討しています。

このアプリケーションでは、サービス メソッドを呼び出すたびに、(通常のメソッド パラメータに加えて) 追加の監査ログ オブジェクトを渡します。この監査ログ オブジェクトには、ユーザー名、ユーザー ID、ユーザー IP アドレスなど、事前に設定されたプロパティがほとんどありません。

実際のサービス メソッドでは、呼び出されるメソッドまたはサービス メソッドで実行される操作に応じて、監査ログ オブジェクトにさらにいくつかのプロパティを設定します。

これは非常に動的で、メソッドごとに異なります。

AOP クラスでは、メソッド パラメーターと戻り値をインターセプトできます。しかし、サービス メソッドで実行される操作に基づいて計算され、監査ログ オブジェクトに設定される値についてはどうでしょうか。この値は、AOP クラスでは使用できません。

基本的に、監査ログ オブジェクトにデータを入力し、メソッドの実行後にそれをデータベースに保存する必要があります。

これを行うことができるものはありますか?

助けてください。

4

1 に答える 1

0

AOP クラスでは、メソッド パラメーターにアクセスできるため、監査オブジェクトにアクセスできる必要があります。したがって、メソッドが戻った後、メソッド パラメーターで監査オブジェクトを見つけて操作します。タイプで見つけることができる限り、監査オブジェクトがどの引数であるかは問題ではありません。

監査オブジェクトは参照によって渡されたので、監査オブジェクトに設定した値はまだそこにあるはずです。

于 2011-10-26T17:44:15.287 に答える