`
coffeej
  • 浏览: 2693 次
文章分类
社区版块
存档分类
最新评论

spring aop两种配置方式

阅读更多

 


<aop:config>
      <aop:aspect id="SaveBlogAspect" ref="saveLogWithSession">
              <aop:pointcut id="SaveBlogPointcut"       expression="execution(* com.coo8.bip.*..*.getAllSysCompany(..)) and args(request,..)" />
              <aop:after-returning method="saveLog"         pointcutref="SaveBlogPointcut" arg-names="request"/>
      </aop:aspect>
</aop:config>

<bean id="saveLogWithSession" class="com.coo8.bip.util.SaveLogWithSession"> 
     </bean>
 

  自定义类SaveLogWithSession的saveLog()方法可以得到spring注入的request参数。

因为配置为after-returning方式,所以系统执行完getAllSysCompany()方法之后会执行saveLog()方法,

并把request参数传递给saveLog()方法。前提是getAllSysCompany()方法也要有request参数。

 

 <aop:config> 
		<aop:pointcut id="addManagermethod" expression="execution(* com.coo8.bip.*.*(..))" />
		<aop:advisor advice-ref="txAdvice" pointcut-ref="addManagermethod" />
		
		<aop:advisor pointcut="execution(* com.coo8.bip.*..*DAO.save*(..)) 
							|| execution(* com.coo8.bip.*..*DAO.update*(..))
							|| execution(* com.coo8.bip.*..*DAO.get*(..))  
							|| execution(* com.coo8.bip.*..*DAO.delete*(..))" 
		 				advice-ref="logMethodBeforeAdvice"/>
		 
    </aop:config> 
    
     <bean id="logMethodBeforeAdvice" class="com.coo8.bip.util.DaoLogMethodBeforeAdvice"> 
     </bean>

 这个例子与上例不同之处是没有定after-returning切面类型,所以要通过自定义类

DaoLogMethodBeforeAdvice实现MethodBeforeAdvice、AfterReturningAdvice接口,来告诉spring

在什么时候执行该切面

 

 

 

分享到:
评论

相关推荐

    SpringAop两种配置demo

    Spring AOP,全称Spring面向切面编程,是Spring框架中的一个重要组成部分,它提供了一种在不修改原有代码的情况下,对...了解并熟练掌握这两种配置方式,能够帮助我们更好地利用Spring AOP提高代码的可维护性和复用性。

    spring aop demo 两种实现方式

    本示例提供了一种通过注解和配置文件两种方式实现Spring AOP的方法。 首先,我们来详细讲解通过注解实现Spring AOP。在Spring中,我们可以使用`@Aspect`注解来定义一个切面,这个切面包含了多个通知(advice),即...

    springAop的配置实现

    - **代理(Proxy)**:Spring AOP通过代理模式来实现切面功能,有JDK动态代理和CGLIB代理两种方式。 **2. JDK 动态代理** - 当目标类实现了接口时,Spring AOP会选择使用JDK动态代理。它会生成一个实现了目标类所有...

    spring aop的两种配置方式.docx

    接下来我们将详细探讨这两种配置方式。 **一、基于XML的Spring AOP配置** 在传统的Spring AOP配置中,我们通常会在`applicationContext.xml`或类似的配置文件中定义切面、通知(advice)、切入点(pointcut)等...

    spring AOP配置的几种方式

    通过以上两种配置方式,我们可以看到Spring AOP提供了非常灵活且强大的功能。使用`ProxyFactoryBean`可以针对单个对象进行精确控制,而`DefaultAdvisorAutoProxyCreator`则更适合于自动化的场景,特别是当项目中有...

    使用Spring配置文件实现AOP

    在Spring中,AOP的实现依赖于两个主要组件:通知(Advice)和切点(Pointcut)。通知是实际执行的增强代码,如方法调用前的记录日志;切点是通知应该应用到的方法或类。Spring支持五种类型的的通知:前置通知...

    spring-aop标签和配置文件两种方式实例

    对比这两种方式,XML配置方式更为灵活,适合复杂的AOP配置,而AOP标签方式更简洁,适用于大多数日常需求。在实际项目中,可以根据项目规模和团队偏好选择合适的方法。 综上所述,Spring AOP提供了通过XML配置和AOP...

    SpringAOP的注解配置

    **execution()**和**@Annotation()**是两种常用的切入点表达式: - **execution()**:用于匹配方法执行的连接点。例如,`execution(* com.example.service.*.*(..))`表示匹配`com.example.service`包下所有类的所有...

    Spring AOP 16道面试题及答案.docx

    Spring支持两种AOP的实现方式:Spring AspectJ注解风格和Spring XML配置风格。使用AspectJ注解风格是最常见的,它允许开发者直接在方法上使用注解来定义切面。 Spring AOP中有五种不同类型的的通知(Advice): 1....

    springAop默认代理方式.zip

    1. **静态代理**:Spring AOP 提供了两种代理方式,一种是静态代理,另一种是动态代理。静态代理是在编译时就确定了代理类,这种代理方式通常通过实现相同接口的方式创建。然而,Spring AOP默认并不使用静态代理,...

    简单spring aop 例子

    在Spring AOP中,切面主要通过两种方式实现:代理(Proxies)和织入(Weaving)。 1. **代理**:Spring AOP支持两种类型的代理:JDK动态代理和CGLIB代理。JDK代理用于实现了接口的类,而CGLIB代理则用于没有接口或...

    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" ...

    Spring实现AOP的4种方式

    Spring的AOP支持两种代理类型:JDK动态代理和CGLIB代理。JDK动态代理适用于实现了接口的目标对象,它会为这些对象创建一个实现了相同接口的代理对象。而CGLIB代理则是在运行时为目标类生成一个子类,如果目标类没有...

    spring aop注解方式、xml方式示例

    Spring AOP提供了注解和XML两种方式来实现切面编程。注解方式更加简洁,易于理解和维护,适用于大多数情况。而XML配置方式则在复杂场景下更具灵活性,如需要动态调整切面配置时。在实际项目中,可以根据需求选择适合...

    Spring AOP实现机制

    Spring AOP主要通过两种方式实现:JDK动态代理和CGLIB代理。 - **JDK动态代理**: - 当目标对象实现了至少一个接口时,Spring会使用JDK的java.lang.reflect.Proxy类创建一个代理对象。 - 代理对象在调用实际方法...

    spring aop的demo

    切面可以通过两种方式实现:基于注解(Annotation-based)和基于XML配置。在本Demo中,我们可能会看到使用注解的方式来创建切面,例如使用`@Aspect`来声明一个类作为切面,`@Before`、`@After`、`@Around`等来定义...

    Spring AOP面向方面编程原理:AOP概念

    Spring提供了两种类型的代理:JDK动态代理和CGLIB代理。 8. **编织(Weaving)**:是指将通知插入到目标对象的过程。Spring AOP是在运行时完成的织入过程,即在程序运行时动态地添加通知。 #### 三、Spring AOP的...

    Spring AOP IOC源码笔记.pdf

    Spring支持两种配置方式:XML配置和Java配置。XML配置是早期常用的,通过`&lt;bean&gt;`标签定义Bean及其依赖关系。Java配置则是从Spring 3.0引入的,使用@Configuration和@Bean注解,使得配置更加直观且类型安全。 4. ...

Global site tag (gtag.js) - Google Analytics