2012-12-24 1 views
12

私はDAOレイヤーで戻り値を持つメソッドを持っていますが、別の要件に従ってSpring AOPで戻り値を変更してから、SERVICEレイヤーの対応するメソッドに送信します。しかし私はそうする方法を知らない。返り値をspring aopで変更する方法

+1

私はSpring AOPのお手伝いができませんが、Stackoverflowコミュニティの助けが必要な場合は、ソースコードを投稿することを強くお勧めします。 – ecbrodie

答えて

15

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

全く異なるオブジェクトを返す予定がある場合は、実際に返されるオブジェクトが戻り値の型のサブクラスでない限り、ClassCastExceptionが発生します。

+0

ok、ありがとう – cleverUtd

関連する問題