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>
    
  • 相关阅读:
    使用Publish Over SSH插件实现远程自动部署
    Certificates does not conform to algorithm constraints
    在 Linux 命令行脚本中执行 sudo 时自动输入密码
    pig学习
    Attention-based Model
    kesci---2019大数据挑战赛预选赛---情感分析
    计算广告(1)---广告技术概览
    Hadoop 使用小命令(2)
    shell学习(2)----常用语法
    docker入门
  • 原文地址:https://www.cnblogs.com/wucg/p/2010718.html
Copyright © 2011-2022 走看看