わりあいすんなり行きました。
まず自前のIntercepterを準備します。
package test;
import org.aopalliance.intercept.MethodInvocation;
import org.seasar.framework.aop.interceptors.AbstractInterceptor;
public class MyInterceptor extends AbstractInterceptor {
private static final long serialVersionUID = 1L;
@Override
public Object invoke(MethodInvocation method) throws Throwable {
System.out.println("Before");
Object ret = method.proceed();
System.out.println("After");
return ret;
}
}
次はexample2.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE components PUBLIC "-//SEASAR2.1//DTD S2Container//EN"
"http://www.seasar.org/dtd/components24.dtd">
<components>
<component class="java.util.ArrayList" name="list">
<initMethod name="add"><arg>"Hoge"</arg></initMethod>
<initMethod name="add"><arg>"Piyo"</arg></initMethod>
</component>
<component class="java.lang.String" name="autoBinding"/>
<component class="java.lang.String" name="useAnnotation"/>
<component class="test.Hello" name="hello">
<arg>list</arg>
<property name="autoBinding">"自動バインディング"</property>
<!-- ダメだった
<property name="useAnnotation">"アノテーション利用"</property>
-->
<aspect pointcut="sayHello">
<component class="test.MyInterceptor"
name="intercepterTest"/>
</aspect>
</component>
</components>
MainとHelloは変更なしです(AOPだからね)。
以上です。(はて、しかしこれをどう使うのかな)
.
0 件のコメント:
コメントを投稿