S2AOP - 独自Interceptor
独自にInterceptorを作成する場合は、次のインターフェースまたは、抽象クラスを実装します。
org.aopalliance.intercept.MethodInterceptor
app.dicon |
<components>
<component name="myInterceptor" class="MyInterceptor" />
<component name="testMyInterceptor" class="TestMyInterceptor">
</component>
</components>
|
MyInterceptor.java |
import org.aopalliance.intercept.MethodInvocation;
// 独自AOP
public class MyInterceptor extends AbstractInterceptor{
private static final long serialVersionUID = 1L;
@Override
public Object invoke(MethodInvocation arg0) throws Throwable {
Object ret = arg0.proceed();
System.out.println("after method call");
return ret;
}
}
|
TestMyInterceptor.java |
TestAopMain.java |
import org.seasar.framework.container.SingletonS2Container;
import org.seasar.framework.container.factory.SingletonS2ContainerFactory;
public class TestAopMain {
public static void main(String[] args) {
// S2Container初期化
SingletonS2ContainerFactory.init();
// コンポーネント取得
TestMyInterceptor t = SingletonS2Container.getComponent(TestMyInterceptor.class);
t.getMessage();
// S2Container破棄
SingletonS2ContainerFactory.destroy();
}
}
|