首先建立两个测试类
package test.aop;
public class testaop1 {
public void print()
{
System.out.println("print......");
}
}
package test.aop;
public class testaop2 {
public void beforeprint()
{
System.out.println("beforeprint");
}
}
然后是配置文件
<?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"> <!-- bean definitions here -->
<!-- 首先创建两个类的对象 -->
<bean id="test1" class="test.aop.testaop1"></bean>
<bean id="test2" class="test.aop.testaop2"></bean>
<!--配置AOP操作 -->
<aop:config>
<!-- 配置切入点 -->
<aop:pointcut expression="execution(* test.aop.testaop1.print(..))" id="pc1"/>
<!-- 配置切面,把增强用到方法上面 -->
<aop:aspect ref="test2">
<!-- 配置增强类型
method:增强类里面哪个方法作为前置 -->
<aop:before method="beforeprint" pointcut-ref="pc1"/>
</aop:aspect>
</aop:config>
</beans>
最后测试一下
@Test
public void testaop() {
ApplicationContext ap =
new ClassPathXmlApplicationContext("bean1.xml");
testaop1 test = (testaop1) ap.getBean("test1");
test.print();
}
附上结果
beforeprint
print......