zoukankan      html  css  js  c++  java
  • spring使用advisor配置aop

    spring使用advisor配置aop

    1、目标类

    package com.gec.target;
    
    public class Hadoop { 
        public void eatting() {
            System.out.println("大象正在吃东西 1"); 
            try {
                //耗时5秒 
                Thread.sleep(5000); 
            } catch (InterruptedException e) { 
                e.printStackTrace(); 
            } 
        }
    }
    

    2、增强类,此类必须要实现增强方位接口

    package com.gec.advice; 
    
    import org.springframework.aop.MethodBeforeAdvice; 
    import java.lang.reflect.Method; 
    
    public class BeforeMethodAdvice implements MethodBeforeAdvice { 
        @Override
    	public void before(Method method, Object[] objects, Object o) throws Throwable { 
            System.out.println("how are you"); 
        } 
    }
    

    3、配置文件

    <?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" 
           xmlns:context="http://www.springframework.org/schema/context"
           xmlns:util="http://www.springframework.org/schema/util"
           xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.3.xsd                                                    http://www.springframework.org/schema/util                                                                          http://www.springframework.org/schema/util/spring-util-4.3.xsd                          http://www.springframework.org/schema/context                                                                       http://www.springframework.org/schema/context/spring-context-4.3.xsd
    http://www.springframework.org/schema/aop                                                                       http://www.springframework.org/schema/aop/spring-aop-4.3.xsd">
    <aop:aspectj-autoproxy /> 
        <bean id="beforeMethodAdvice" class="com.gec.advice.BeforeMethodAdvice" /> 
        <bean id="hadoop" class="com.gec.target.Hadoop" /> 
        <aop:config> 
            <!--定义一个切面--> 
            <aop:advisor advice-ref="beforeMethodAdvice" pointcut="execution (* eatting(..))" /> 
        </aop:config> 
    </beans>
    

    4、测试

    public static void main(String[] args) { 
        ApplicationContext ctx=new ClassPathXmlApplicationContext("beans.xml"); 
        Hadoop hadoop= (Hadoop) ctx.getBean("hadoop"); 
        hadoop.eatting(); 
    }
    
    记得快乐
  • 相关阅读:
    开发win8 metro monogame,显示pubcenter广告时会使游戏卡住的问题的解决方法。
    win8商店应用验证,二进制文件是在调试模式下生成的解决方案。
    slxna,游戏页面切到后台回来后返回sl页面导致sl页面无响应,解决方法。
    支持虚拟化也开来虚拟化就是装不上HyperV的解决方法
    WP中一些耗时的东西
    WP自定义字体
    SystemTray文字颜色问题
    longlistselector 闪烁问题研究
    vs2013安装xna4.0模板
    让textbox紧贴IME
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13837143.html
Copyright © 2011-2022 走看看