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(); 
    }
    
    记得快乐
  • 相关阅读:
    Emgucv使用中常用函数总结
    设置 omitempty 标签忽略空值字段
    Goland 中定义实时模板
    gorm Update
    Gorm 日期格式错误
    Gorm 多张表的自动迁移
    Sql取出各科分数前三名的学生,Sql各科成绩前三的学生
    美团Leaf分布式ID Leaf安装和使用,美团Leaf snowflake雪花算法模式,美团Leaf segment号段模式
    RocketMQ可靠消息最终一致性解决方案
    Windows安装RocketMQ,RocketMQ Windows安装和使用
  • 原文地址:https://www.cnblogs.com/Y-wee/p/13837143.html
Copyright © 2011-2022 走看看