`
tanglei198577
  • 浏览: 59697 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Spring AOP config file and explaination

    博客分类:
  • SSH
阅读更多

I have give the comment in xml file:

<beans  xmlns="http://www.springframework.org/schema/beans" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:aop="http://www.springframework.org/schema/aop" 
xmlns:tx="http://www.springframework.org/schema/tx" 
xmlns:context="http://www.springframework.org/schema/context" 
xsi:schemaLocation=" 
	http://www.springframework.org/schema/beans 
	http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
	http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-2.5.xsd 
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd  
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> 
    
   <description>Quick AOP Start for Spring</description>
    <!-- AOP of audience -->
    
    <!-- DefaultPointcutAdvisor bean -->
    <bean id="audienceAdvisor" class="org.springframework.aop.support.DefaultPointcutAdvisor">
         <!-- both values of advice below equivalent,one method implements MethodInterceptor,another method is implements MethodBeforeAdvice,AfterReturningAdvice,ThrowsAdvice,annotate one of them--> 
         <!--<property name="advice" ref="AudienceAroundAdvice"></property>-->
         <property name="advice" ref="AudienceAdvice"></property> 
         <!-- define point cut of advisor ,one is aspectJ pointcut,another is regular pointcut,annotate one of them-->
         <!--<property name="pointcut" ref="PerformencePointcutAspectJ"></property>-->
         <property name="pointcut" ref="PerformencePointcut"></property>
    </bean>
    
    <!-- AspectJExpressionPointcutAdvisor bean -->
    <bean id="audienceAdvisorAspectJ" class="org.springframework.aop.aspectj.AspectJExpressionPointcutAdvisor">
         <!--<property name="advice" ref="AudienceAroundAdvice"></property>-->
         <property name="advice" ref="AudienceAdvice"></property> 
         <!-- define expression of advisor -->
         <property name="expression" value="execution(* *.perform(..))"></property>
    </bean>
    
    <!-- create advice of audience by implements MethodBeforeAdvice,AfterReturningAdvice,ThrowsAdvice-->
    <bean id="AudienceAdvice" class="com.spring.aop.AudienceAdvice">
         <property name="audience" ref="audience"></property>
    </bean>
    <!-- create around advice of audience by implements MethodInterceptor-->
    <bean id="AudienceAroundAdvice" class="com.spring.aop.AudienceAroundAdvice">
         <property name="audience" ref="audience"></property>
    </bean>
    
    <!-- audience bean -->
    <bean id="audience" class="com.spring.aop.Audience"></bean>  
    <!-- regular pointcut-->
    <bean id="PerformencePointcut" class="org.springframework.aop.support.JdkRegexpMethodPointcut">
         <property name="pattern" value=".*perform"></property>  
    </bean>
    <!-- AspectJ pointcut-->
    <bean id="PerformencePointcutAspectJ" class="org.springframework.aop.aspectj.AspectJExpressionPointcut">
         <property name="expression" value="execution(* *.perform(..))"></property>  
    </bean>
    

   <!-- parent base proxyBean ,it is convenient to extends-->
   <bean id="advisorBase" class="org.springframework.aop.framework.ProxyFactoryBean" abstract="true"> 
     <!-- both values of interceptorNames below equivalent,one method is using AspectJ,another method 
     is classic spring proxy-based AOP,annotate one of them--> 
     <!-- <property name="interceptorNames" value="audienceAdvisorAspectJ"></property> -->
     <property name="interceptorNames" value="audienceAdvisor"></property>
     <!-- proxy interface-->
     <property name="proxyInterfaces" value="com.performence.Performer"></property>
   </bean>
    
   <!-- inherit from advisorBase -->
   <bean id="duke" parent="advisorBase">
     <!-- target of ProxyFactoryBean -->
     <property name="target" ref="dukeTarget"></property>
   </bean>
   <bean id="dukeTarget" class="com.performence.PoeticJuggler" >
      <constructor-arg ref="poem"/>
      <property name="song" value="Without U" /> 
   </bean>
   <bean id="poem" class="com.performence.LovePoem" ></bean>
   
   <!-- inherit from advisorBase -->
   <bean id="stevie" parent="advisorBase">
     <property name="target" ref="stevieTarget"></property>
   </bean>
   <bean id="stevieTarget" class="com.performence.PoeticJuggler" >
      <constructor-arg ref="poem"/>
      <property name="song" value="Lady GaGa" /> 
   </bean>
   
   </beans>

 

0
0
分享到:
评论

相关推荐

    spring aop jar 包

    Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它提供了一种在不修改源代码的情况下,对程序进行功能增强的技术。这个"spring aop jar 包"包含了实现这一功能所需的类和接口,...

    简单spring aop 例子

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点问题,如日志、事务管理、安全性等。本示例将简要介绍如何在Spring应用中实现AOP,通过实际的...

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

    Spring AOP,全称为Aspect Oriented Programming,是面向切面编程的一种编程范式,它是对传统的面向对象编程(OOP)的一种补充。在OOP中,核心是对象,而在AOP中,核心则是切面。切面是关注点的模块化,即程序中的...

    Spring AOP完整例子

    在Spring XML配置中,我们可以使用`&lt;aop:config&gt;`元素来定义切点表达式,然后使用`&lt;aop:aspect&gt;`元素来声明切面,并将通知方法与切点关联起来。此外,还可以使用注解驱动的配置,通过`@EnableAspectJAutoProxy`注解...

    Spring Aop四个依赖的Jar包

    Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的一个重要模块,它通过提供声明式的方式来实现面向切面编程,从而简化了应用程序的开发和维护。在Spring AOP中,我们无需深入到每个...

    spring aop依赖jar包

    Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的重要组成部分,它为Java应用程序提供了声明式的企业级服务,如事务管理、性能监控等。在Spring AOP中,我们可以通过定义切面(Aspect...

    spring-aop.jar各个版本

    spring-aop-1.1.1.jar spring-aop-1.2.6.jar spring-aop-1.2.9.jar spring-aop-2.0.2.jar spring-aop-2.0.6.jar spring-aop-2.0.7.jar spring-aop-2.0.8.jar spring-aop-2.0.jar spring-aop-2.5.1.jar spring-aop-...

    Spring AOP实现机制

    - 在`&lt;aop:config&gt;`标签内定义切面,`&lt;aop:pointcut&gt;`定义切入点,`&lt;aop:advisor&gt;`定义通知。 - `&lt;aop:aspect&gt;`标签用于定义完整的切面,包括切入点和通知。 - **注解配置**: - 使用`@Aspect`注解定义切面类,`...

    死磕Spring之AOP篇 - Spring AOP两种代理对象的拦截处理(csdn)————程序.pdf

    Spring AOP 是一种面向切面编程的技术,它允许我们在不修改源代码的情况下,对应用程序的特定部分(如方法调用)进行增强。在 Spring 中,AOP 的实现主要依赖于代理模式,有两种代理方式:JDK 动态代理和 CGLIB 动态...

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

    ### Spring AOP面向方面编程原理:AOP概念详解 #### 一、引言 随着软件系统的日益复杂,传统的面向对象编程(OOP)逐渐暴露出难以应对某些横切关注点(cross-cutting concerns)的问题。为了解决这一挑战,面向方面编程...

    spring aop 自定义注解保存操作日志到mysql数据库 源码

    一、适合人群 1、具备一定Java编程基础,初级开发者 2、对springboot,mybatis,mysql有基本认识 3、对spring aop认识模糊的,不清楚如何实现Java 自定义注解的 ...4、spring boot,mybatis,druid,spring aop的使用

    基于注解实现SpringAop

    基于注解实现SpringAop基于注解实现SpringAop基于注解实现SpringAop

    spring AOP依赖三个jar包

    Spring AOP,即Spring的面向切面编程模块,是Spring框架的重要组成部分,它允许开发者在不修改源代码的情况下,对程序进行横切关注点的处理,如日志、事务管理等。实现这一功能,主要依赖于三个核心的jar包:aop...

    spring aop 五个依赖jar

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它提供了一种模块化和声明式的方式来处理系统中的交叉关注点,如日志、事务管理等。在Java应用中,AOP通过代理模式实现了切面编程,使得我们可以将业务逻辑...

    spring aop的demo

    在Spring的XML配置文件中,这可以通过`&lt;aop:config&gt;`标签来完成,或者在Java配置类中使用`@EnableAspectJAutoProxy`注解。然后,将切面类通过`&lt;bean&gt;`标签或者`@Component`注解进行注册。 总的来说,这个Spring AOP...

    springAop的配置实现

    **Spring AOP 配置实现详解** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架的重要组成部分,它允许我们通过分离关注点来简化应用程序的开发。在传统的面向对象编程中,业务逻辑与日志记录...

    springAOP所需jar包

    XML配置通常在Spring的配置文件中完成,如`&lt;aop:config&gt;`标签用于开启AOP支持,`&lt;aop:aspect&gt;`定义切面,`&lt;aop:pointcut&gt;`定义切点,`&lt;aop:advisor&gt;`定义通知。注解方式则更简洁,可以使用`@Aspect`、`@Before`、`@...

    spring aop demo 两种实现方式

    Spring AOP(面向切面编程)是Spring框架的重要组成部分,它允许程序员在不修改源代码的情况下,对应用程序的特定部分(如方法调用)进行拦截和处理。这为日志、事务管理、性能监控等提供了方便。本示例提供了一种...

    Spring Aop的简单实现

    Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的重要组成部分,它为应用程序提供了声明式的企业级服务,如日志、事务管理等。在本项目中,我们将探讨如何通过配置文件实现Spring AOP...

    spring AOP 引入jar包,spring IOC 引入Jar包

    Spring AOP 和 Spring IOC 是 Spring 框架的两个核心组件,它们对于任何基于 Java 的企业级应用开发都至关重要。Spring AOP(面向切面编程)允许开发者在不修改源代码的情况下,通过“切面”来插入新的行为或增强已...

Global site tag (gtag.js) - Google Analytics