zoukankan      html  css  js  c++  java
  • 简单aop示例

    //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>
    
  • 相关阅读:
    CF431E Chemistry Experiment
    BZOJ 4173: 数学
    BZOJ 2426: [HAOI2010]工厂选址
    BZOJ 2580: [Usaco2012 Jan]Video Game
    BZOJ 4237: 稻草人
    BZOJ 2434: [Noi2011]阿狸的打字机
    BZOJ 3881: [Coci2015]Divljak
    BZOJ 2754: [SCOI2012]喵星球上的点名
    BZOJ 1009: [HNOI2008]GT考试
    BZOJ 3731: Gty的超级妹子树
  • 原文地址:https://www.cnblogs.com/wucg/p/2010718.html
Copyright © 2011-2022 走看看