//MyBean.java package test.aop; public class MyBean { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } } //MyMethodBeforeAdvice.java package test.aop; import java.lang.reflect.Method; import org.springframework.aop.MethodBeforeAdvice; public class MyMethodBeforeAdvice implements MethodBeforeAdvice { @Override public void before(Method method, Object[] args, Object target) throws Throwable { System.out.println( "调用了 "+target +"的 "+method.getName()+"方法,参数为:"); int i=0; for (Object object : args) { System.out.println( (++i)+ "个:"+ object.toString()); } } } //Test.java package test.aop; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { /** * @param args */ public static void main(String[] args) { ApplicationContext ctx=new ClassPathXmlApplicationContext("classpath:test/aop/aop.xml"); MyBean mb=(MyBean) ctx.getBean("MyBeanService"); mb.setName("abc"); mb.getName(); mb.getClass(); System.out.println("done"); } } ////////////////////////////////////配置//////////////////////////////////////////// <?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:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <bean id="MyBean" class="test.aop.MyBean"></bean> <bean id="MyAdvice" class="test.aop.MyMethodBeforeAdvice"></bean> <bean id="MyBeanService" class="org.springframework.aop.framework.ProxyFactoryBean"> <!-- 注入目标对象 --> <property name="target" ref="MyBean"></property> <!-- 注入Advice/Interceptor --> <property name="interceptorNames"> <list> <value>MyAdvice</value> </list> </property> </bean> </beans>
简单aop示例
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:闭包 Closure
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
【Spring-AOP-学习笔记-5】@AfterReturning增强处理简单示例
项目结构业务代码@Component("hello")public class HelloImpl implements Hello{ // 定义一个简单方法,模拟应用中的业务逻辑方法
@AfterReturning spring spring AOP xml javascript -
【Spring-AOP-学习笔记-4】@After后向增强处理简单示例
说明After增强处理的作用非常类似于异常处理中的finally块的作用,无论如何,他总会在方法执行结束之后被织入,因此
@After spring spring AOP xml javascript