`
houkai2009
  • 浏览: 226612 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
  • 浪迹随风: 文章是挺好的,不过太杂了。。。信息量也很大。。。很难消化。。。 ...
    EJB 介绍
  • javaersu: yds3300376yd 写道学习了,只是楼主写的有点杂,现在 ...
    EJB 介绍
  • yds3300376yd: 学习了,只是楼主写的有点杂,现在还看不太懂,刚学习EJB,我觉 ...
    EJB 介绍
  • javaersu: 不错,这里也有一篇类似的EJB文章教程http://www.y ...
    EJB 介绍
  • dingding5060: brother , 你贴代码想说明什么???
    enum

aop:advisor

阅读更多

package com.crm.web.aop;

import java.lang.reflect.Method;

import org.springframework.aop.ThrowsAdvice;

public class throwErrro implements ThrowsAdvice {
 public void afterThrowing(Method method, Object[] args, Object target,
   Throwable subclass) throws Throwable {
  
  System.out.println("执行"+target.getClass().getName()+"的"+method.getName()+"方法抛出"+subclass.getClass().getName());
 }
}

 

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:aop="http://www.springframework.org/schema/aop"
 xmlns:tx="http://www.springframework.org/schema/tx"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
 http://www.springframework.org/schema/tx
    http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
 http://www.springframework.org/schema/aop
 http://www.springframework.org/schema/aop/spring-aop-2.0.xsd ">


 <bean id="myTransaction"
  class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  <property name="sessionFactory" ref="sessionfactory"></property>
 </bean>

 <bean id="LogAdvice" class="com.crm.web.aop.throwErrro"></bean>

 <tx:advice id="txAdvice" transaction-manager="myTransaction">
  <tx:attributes>
   <tx:method name="add*" propagation="REQUIRED" />
   <tx:method name="del*" propagation="REQUIRED" />
   <tx:method name="update*" propagation="REQUIRED" />
   <tx:method name="do*" propagation="REQUIRED" />
   <tx:method name="*" propagation="SUPPORTS"/>
  </tx:attributes>
 </tx:advice>

 <!--注意了代理方式-->
 <aop:config proxy-target-class="true">
  <aop:pointcut id="put"
   expression="execution(* com.crm.web.biz.impl.*.*(..))" />

  <aop:advisor advice-ref="txAdvice" pointcut-ref="put" />

  <aop:advisor advice-ref="LogAdvice" pointcut-ref="put" />

 </aop:config>

</beans>

 

 

 

分享到:
评论

相关推荐

    SPRING:aspect和advisor区别

    本文旨在深入探讨Spring AOP中的两个核心概念:`Aspect`与`Advisor`的区别,并通过具体的配置示例帮助读者更好地理解和应用这些概念。 #### 二、Aspect的概念解析 1. **定义**: - `Aspect`在Spring AOP中被称为...

    spring aop管理xml版

    - `&lt;aop:advisor&gt;`:可以包含一个通知和一个切入点,是更细粒度的配置单元。 在实际应用中,我们会在`&lt;bean&gt;`元素中定义切面类,并在`&lt;aop:config&gt;`中通过`&lt;aop:aspect&gt;`元素引用它,然后定义相应的通知和切入点。...

    Spring AOP实现

    Spring AOP的配置通常在Spring的XML配置文件中完成,通过`&lt;aop:config&gt;`标签开启AOP支持,然后使用`&lt;aop:advisor&gt;`定义Advisor,指定advice和pointcut。在例子中,BeanImpl类的theMethod()方法会在执行前调用`...

    SpringAOP1.zip

    在Spring配置文件中,我们可以使用`&lt;aop:config&gt;`元素来声明切面,`&lt;aop:pointcut&gt;`定义切点,`&lt;aop:advisor&gt;`或`&lt;aop:aspect&gt;`定义通知。 例如,下面是一个简单的切面定义: ```xml &lt;aop:config&gt; &lt;aop:pointcut ...

    使用Spring配置文件实现AOP

    1. 配置Advisor:Advisor是通知和切点的组合。在Spring的XML配置文件中,我们可以创建一个`&lt;aop:config&gt;`元素,并在其内部定义`&lt;aop:advisor&gt;`来创建Advisor。Advisor的`advice-ref`属性用于指定通知bean的ID,`...

    springAop的配置实现

    - `&lt;aop:advisor&gt;`:定义通知和切入点的关联,指定何时何地执行通知。 - `&lt;aop:aspect&gt;`:定义切面,包括其通知和切入点。 - `&lt;aop:before&gt;`、`&lt;aop:after&gt;`、`&lt;aop:around&gt;`等:分别用于定义不同类型的通知。 **5....

    Spring AOP 拦截器 Advisor

    Spring AOP 拦截器 Advisor 是 Spring 框架中的一个重要概念,它与切面编程密切相关,用于实现细粒度的控制和增强应用程序的行为。在 Spring AOP 中,Advisor 是一个组合了通知(Advice)和切入点(Pointcut)的对象...

    SpringAOP实现.docx

    &lt;aop:advisor advice-ref="logAfter" pointcut-ref="pointcut"/&gt; &lt;aop:advisor advice-ref="logBefore" pointcut-ref="pointcut"/&gt; &lt;/aop:config&gt; ``` - **实现通知接口**:Spring提供了多种类型的接口,如`...

    spring_aop xml方式实现aop

    &lt;aop:advisor advice-ref="myAdvice" pointcut-ref="myPointcut"/&gt; ``` 在这里,`advice-ref`属性引用了之前定义的通知ID。 总结来说,通过Spring的XML配置,我们可以定义连接点(方法)、切点(一组连接点)、通知...

    使用XML方式配置AOP.zip

    &lt;aop:advisor id="loggingAdvisor" advice-ref="loggingAdvice" pointcut-ref="myPointcut"/&gt; ``` `advice-ref`引用通知,`pointcut-ref`引用切入点。 5. **定义代理(Proxies)**: Spring默认使用JDK动态...

    征服Spring AOP—— Schema

    3. `&lt;aop:advisor&gt;`:顾问元素,它将切入点与通知关联起来。顾问包含了何时以及如何执行通知的信息。 4. `&lt;aop:aspect&gt;`:定义一个切面,可以包含多个通知和切入点。切面可以看作是封装了多个相关通知的逻辑单元。 ...

    Spring 使用AspectJ 实现 AOP(基于xml文件、基于注解)

    3. **关联通知与切点**: 使用`&lt;aop:pointcut&gt;`定义切点,并通过`&lt;aop:advisor&gt;`将通知与切点关联起来。 例如: ```xml &lt;aop:config&gt; &lt;aop:pointcut id="myPointcut" expression="execution(* com.example.service....

    Spring中Aop的使用包括xml和注解

    5. `&lt;aop:advisor&gt;`:结合切点和通知,定义了一个顾问,它会在匹配的方法上应用通知。 例如,一个简单的XML配置可能如下所示: ```xml &lt;aop:config&gt; &lt;aop:aspect id="loggingAspect" ref="loggingService"&gt; &lt;aop...

    spring famework 基于xml配置aop示例

    &lt;aop:advisor advice-ref="myAdvice" pointcut-ref="serviceMethods"/&gt; ``` 这里的`advice-ref`引用了之前定义的通知,`pointcut-ref`引用了切点。 在Maven项目中,确保你的pom.xml文件包含了Spring AOP和Spring ...

    com.springsource.org.aopalliance-1.0.0.jar.zip

    在Spring配置中,我们可以通过`&lt;aop:config&gt;`标签来定义切面,然后使用`&lt;aop:advisor&gt;`或`&lt;aop:aspect&gt;`来指定拦截器。例如: ```xml &lt;aop:config&gt; &lt;aop:aspect id="loggingAspect" ref="loggingInterceptor"&gt; ...

    springAOP配置动态代理实现

    1. **XML配置**:在Spring的配置文件中,可以通过&lt;aop:config&gt;标签来定义切面,&lt;aop:pointcut&gt;定义切点,&lt;aop:advisor&gt;或&lt;aop:aspect&gt;定义通知。例如: ```xml &lt;aop:config&gt; &lt;aop:pointcut id="myPointcut" ...

    AOP基础与配置

    &lt;aop:advisor advice-ref="loggingAdvice" pointcut-ref="myServiceMethods"/&gt; &lt;/aop:config&gt; &lt;aop:aspect id="loggingAspect"&gt; &lt;aop:before method="logBefore" pointcut-ref="myServiceMethods"/&gt; &lt;aop:after ...

    spring aop xml 实例

    &lt;aop:advisor advice-ref="myAdvice" pointcut-ref="myPointcut"/&gt; &lt;/aop:config&gt; &lt;aop:aspect id="myAspect"&gt; &lt;!-- 定义通知 --&gt; &lt;aop:before method="beforeMethod" pointcut-ref="myPointcut"/&gt; &lt;aop:after-...

    aop配置demo

    接着,使用`&lt;aop:advisor&gt;`或`&lt;aop:aspect&gt;`标签来创建通知,通知是实际的切面逻辑,可以在方法调用前后执行。`&lt;aop:before&gt;`、`&lt;aop:after&gt;`、`&lt;aop:around&gt;`和`&lt;aop:after-throwing&gt;`分别对应于前置通知、后置通知...

    spring2.5.6 aop简单示例

    &lt;aop:advisor advice-ref="loggingAdvice" pointcut-ref="myBusinessMethods"/&gt; ``` 4. **编写通知逻辑**:在服务类中,我们可以定义一个方法作为通知,如`@Before`、`@After`、`@Around`等注解的方法。例如,一...

Global site tag (gtag.js) - Google Analytics