23

DAOレイヤーに戻り値を持つメソッドがあります。さまざまな要件に従って、Spring AOPで戻り値を変更し、サービスレイヤーの対応するメソッドに送信したいです。しかし、私はそうする方法がわかりません。

4

1 に答える 1

24

@Around戻り値の型を変更するメソッドにアスペクトを適用できます。Spring AOP ファセットを Spring アプリケーションに追加する方法に関する私のブログ投稿を見てから、@Aroundアスペクトを作成してください。私はこの側面をMemoizingメソッドの結果に使用しましたが、あなたの場合、 の戻り値を取り、ProceedingJoinPoint.proceed()それを適切なクラスに型キャストし、それを変更して返します。

完全に異なるオブジェクトを返すことを計画している場合、実際に返されるオブジェクトが戻り値の型のサブクラスでない限り、ClassCastException が発生します。

于 2012-12-24T06:37:24.560 に答える