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>
    
  • 相关阅读:
    Mac OSX+VirtualBox+Vagrant+CentOS初体验
    mac下搭建redis环境
    使用iTerm2快捷连接SSH
    mac下openresty安装
    给有重复记录的表添加唯一索引
    【Android UI设计与开发】第02期:引导界面(二)使用ViewPager实现欢迎引导页面
    【Android UI设计与开发】第01期:引导界面(一)ViewPager介绍和使用详解
    java实现基于关键字的文件夹(文件)的搜索、文件夹(文件)的复制、删除
    NetBeans 插件开发简介
    Android 实现 WheelView
  • 原文地址:https://www.cnblogs.com/wucg/p/2010718.html
Copyright © 2011-2022 走看看