zoukankan      html  css  js  c++  java
  • spring aop切面配置

    <bean id="aopLog" class="sardine.commodity.biz.AopLog"/>
        <aop:config>  
        <aop:aspect ref="aopLog">  
            <aop:around method="runOnAround" pointcut="execution (* sardine.commodity.biz.*.find*(..))"/>  
        </aop:aspect>  
        </aop:config>

    AopLog类如下所示:

    import org.aspectj.lang.ProceedingJoinPoint;

    public class AopLog {
        //方法执行的前后调用  
        public Object runOnAround(ProceedingJoinPoint point) throws Throwable{  
            System.out.println("begin around");  
            Object object = point.proceed();  
            System.out.println("end around");  
            return object;  
        }  
    }

    参考文档如下:

    http://zywang.iteye.com/blog/974226

    http://blog.csdn.net/voyage_mh1987/article/details/5821238

    把源码的一部分代码注释掉,调试看看报错的信息有哪些?这样可能知道之前的map信息是用来做什么的?

    spring-test的官方介绍如下:

    http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#testcontext-ctx-management-env-profiles

    http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#integration-testing

    public Object runOnAround(ProceedingJoinPoint point) throws Throwable {
            System.out.println("begin around");
            Object object = point.proceed();
            //System.out.println(object);
            Object[] objects = point.getArgs();//获取实时传入的参数
            for (Object obj : objects) {
                System.out.println(obj);
            }
            System.out.println("end around");
            return object;
        }

    @Autowired
    private RedisTemplate admin;

    这里的RedisTemplate可以是接口,也可以是实体类

    参考文档如下:

    http://jinnianshilongnian.iteye.com/blog/1415606

    这里面介绍切面的地方可以是多个前缀方法,中间是以or分割。

    pointcut总共有哪几种情况?

  • 相关阅读:
    命令别名与历史命令
    Shell的变量功能
    Shell的变量功能
    认识BASH这个Shell
    vim程序编辑器
    其他vim使用注意事项
    vim的额外功能
    六、集合
    五、字典
    四、列表 元组
  • 原文地址:https://www.cnblogs.com/usual2013blog/p/4033331.html
Copyright © 2011-2022 走看看