ProxyFactory
を使用したプログラムによる AOP プロキシの作成
Spring を使用すると、プログラムで AOP プロキシを簡単に作成できます。これにより、Spring IoC に依存せずに Spring AOP を使用できます。
ターゲットオブジェクトによって実装されたインターフェースは自動的にプロキシされます。次のリストは、1 つのインターセプターと 1 つのアドバイザーを使用した、ターゲットオブジェクトのプロキシの作成を示しています。
Java
Kotlin
ProxyFactory factory = new ProxyFactory(myBusinessInterfaceImpl);
factory.addAdvice(myMethodInterceptor);
factory.addAdvisor(myAdvisor);
MyBusinessInterface tb = (MyBusinessInterface) factory.getProxy();
val factory = ProxyFactory(myBusinessInterfaceImpl)
factory.addAdvice(myMethodInterceptor)
factory.addAdvisor(myAdvisor)
val tb = factory.proxy as MyBusinessInterface
最初のステップは、型 org.springframework.aop.framework.ProxyFactory
のオブジェクトを作成することです。前の例のように、ターゲットオブジェクトを使用してこれを作成するか、代替コンストラクターでプロキシするインターフェースを指定できます。
アドバイス (特殊な種類のアドバイスとしてのインターセプターを使用)、アドバイザー、その両方を追加して、ProxyFactory
の存続期間中、操作できます。IntroductionInterceptionAroundAdvisor
を追加すると、プロキシに追加のインターフェースを実装させることができます。
また、ProxyFactory
(AdvisedSupport
から継承)には、before や throws アドバイスなど、他のアドバイス型を追加できる便利なメソッドがあります。AdvisedSupport
は、ProxyFactory
と ProxyFactoryBean
の両方のスーパークラスです。
AOP プロキシ作成を IoC フレームワークと統合することは、ほとんどのアプリケーションのベストプラクティスです。通常は、AOP を使用して Java コードから設定を外部化することをお勧めします。 |