第一种:

使用aop指定切面aspect。
<bean id="LogAdvice" class="com.thinkmore.framework.monitor.log.LogAdviceInterceptor">
<property name="cache">
<ref local="ehCache" />
</property>
</bean>
<aop:config proxy-target-class="true">
<aop:pointcut id="txPointcut" expression="execution(* com.thinkmore.business.service..*.*(..))" />
<aop:aspect order="0" ref="LogAdvice">
<aop:around method="intercept" pointcut-ref="txPointcut"/>
</aop:aspect>
</aop:config>
LogAdviceInterceptor中须要实现上面指定的method方法--》intercept。而至于是哪种类型的通知。则看aop后面的配置,此处是aop:around,即围绕通知,围绕通知须要使用proceedingJoinPoint。
public Object intercept(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
return returnValue = proceedingJoinPoint.proceed();
}

另外一种:
使用切面+指定通知的实现类,详细是什么通知。由实现类实现的接口决定。
<bean id="LogAdvice" class="com.thinkmore.framework.monitor.log.LogAdviceInterceptor">
<property name="cache">
<ref local="ehCache" />
</property>
</bean>
<aop:config proxy-target-class="true">
<aop:pointcut id="logPointcut" expression="execution(* com.thinkmore.business.service..*.*(..))" />
<aop:advisor advice-ref="LogAdvice" pointcut-ref="logPointcut" />
</aop:config>
上面的logAdviceInterceptor须要实现implements MethodInterceptor这个接口,这个接口表示围绕通知。

AOP经典2种配置演示样例的更多相关文章

  1. Nginx 简单的负载均衡配置演示样例

    近期在做开放查询应用的时候,因为数据两天特别多,两千多万条呢,用户訪问需求也比較大,所以就用nginx做了 负载均衡,以下是改动之后的相关内容. http://www.cnblogs.com/xiao ...

  2. Spring @Transaction配置演示样例及发生不回滚原因深度剖析

    背景 近期在公司做的一个项目,用的是SpringMVC框架,数据库用的是MySql,刚開始并没有增加事务,后因业务须要必须事务处理. 问题的产生和解决 使用事务,直接问百度,我选择的是注解的方式. 在 ...

  3. EEPlat vs saleforce 配置 Knowledge Article 演示样例

    ==================================================================================================== ...

  4. JBoss 系列一 O O:Maven jBPM 6 集成演示样例

    概述 jBPM 6 中底层架构基于 Maven,所以我们能够非常easy的进行 Maven jBPM 6 集成演示样例,本文分三个部分: 基本原理介绍 Maven jBPM 6 集成 jBPM 6 中 ...

  5. SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)

    做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...

  6. Cocos2d-x 3.2Lua演示样例UserDefaultTest(用户默认配置)

    Cocos2d-x 3.2演示样例UserDefaultTest(用户默认配置) 本篇博客介绍Cocos2d-x 3.2演示样例中的UserDefaulstTest,我们在开发中可能须要用到一些默认配 ...

  7. Tuxedo安装、配置、以及演示样例程序 (学习网址)

    Tuxedo安装.配置.以及演示样例程序 (学习网址): 1.http://liu9403.iteye.com/blog/1415684 2.http://www.cnblogs.com/fnng/a ...

  8. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  9. java 线程、线程池基本应用演示样例代码回想

    java 线程.线程池基本应用演示样例代码回想 package org.rui.thread; /** * 定义任务 * * @author lenovo * */ public class Lift ...

随机推荐

  1. Error解决:Property&#39;s synthesized getter follows Cocoa naming convention for returning &#39;owned&#39;

    在项目中定义了以new开头的textField.结果报错: 先看我的源代码: #import <UIKit/UIKit.h> @interface ResetPasswordViewCon ...

  2. python:sql建表语句转换为json

    第一种sql格式: CREATE TABLE prpcitem_car ( proposalno ) NOT NULL, itemno ,) NOT NULL, riskcode ) NOT NULL ...

  3. putty配色方案【转】

    本文转载自:http://blog.csdn.net/hfut_jf/article/details/53636080 putty默认的配色方案简直毫无人道主义可言,所以找了个,好多了,转载自http ...

  4. 自定义django的Template context processors

    简要步骤: 1.编辑一个函数: def media_url(request): from django.conf import settings return {'media_url': settin ...

  5. java+appium+安卓模拟器实现app自动化Demo

    网上有比较多相关教程,自己写一遍,加深下印象. 环境搭建 据说,很多人都被繁琐的环境搭建给吓到了. 是的,确实,繁琐. node.js 网址 cmd输入node -v,出现下图说明成功. JDK 网址 ...

  6. Blender Python UV 学习

    Blender Python UV 学习 1. bmesh面转换 bm = bmesh.from_edit_mesh(bpy.context.edit_object.data) bm.faces.en ...

  7. C#操作QQ邮箱发送电子邮件原来这么简单。。。。

    在贴代码之前,首先需要给QQ邮箱开服务IMAP/SMTP服务,详细开通方法见 "开通方法"(可能需要发送收费短信,所以只要开通这一个服务就好了). 这边主要就是为了一个服务的授权码 ...

  8. Hibernate中实体对象的状态

    实体对象的状态 这里的实体对象是指Hibernate的O/R映射关系中的域对象(即O/R中的O).实体对象的生命周期是指实体对象由产生到被GC回收的一段过程,实体对象的生命周期包括3种状态:自由状态( ...

  9. 异步lambda表达式

  10. JavaScript实现鼠标效果

    <html> <head> <meta charset="utf-8"> <title>无标题文档</title> &l ...