Spring AsppectJシンプルなテストコード
3321 ワード
http://blog.csdn.net/xiaose7613/article/details/4301989
1.通知された対象(対象)POJOを定義する
TestBean.java
TestAdvice.java
aop.xml
Test.java
[c-sharp]
view plin
copy
セット aut comit false add ト db comit トランジット 6,jarのカバンに依存します
aspectjweaver-1.6.12.jar
http://minyongcheng.iteye.com/admin/blogs/2104253
1.通知された対象(対象)POJOを定義する
TestBean.java
package com.spring.aspect;
public class TestBean {
public void add(){
System.out.println("add to db");
}
}
2.通知対象を定義する(advisor)TestAdvice.java
package com.spring.aspect;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
/**
* @Description: (advisor)
* @Author : yc.min
*/
@Aspect
public class TestAdvice {
@Pointcut("execution(* TestBean.add(..))")
public void perform(){
}
/**
*
*/
@Around("perform()")
public void addTransaction(ProceedingJoinPoint pjp) {
System.out.println("set autocommit false");
try {
pjp.proceed();
System.out.println("commit transaction");
} catch (Throwable throwable) {
System.out.println("rollback transaction");
}
}
}
3.XMLコードの設定aop.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">
<aop:aspectj-autoproxy/>
<bean id="testBean" class="com.spring.aspect.TestBean"/>
<bean id="testAdvice" class="com.spring.aspect.TestAdvice"/>
</beans>
4.テストコードのテストを書くTest.java
package com.spring.aspect;
import java.io.IOException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
public static void main(String[] args) throws IOException {
ApplicationContext ctx = new ClassPathXmlApplicationContext(
"com/spring/aspect/aop.xml");
TestBean t = (TestBean) ctx.getBean("testBean");
t.add();
}
}
5.試験結果[c-sharp]
view plin
copy
セット aut comit false add ト db comit トランジット 6,jarのカバンに依存します
aspectjweaver-1.6.12.jar
http://minyongcheng.iteye.com/admin/blogs/2104253