`
gaoyuntao2005
  • 浏览: 312302 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring 2.0 aop编程(一)

阅读更多
在spring2.0中,aop发生了很大的变化:
主要分为两大方面
1.支持简单的aop xml配置
2.支持@AspectJ的注释

先来看一看第一种情况:
申明一个aspect,在xml中的申明如下:

<aop:config>

  <aop:aspect id="myAspect" ref="aBean">

    ...

  </aop:aspect>

</aop:config>

<bean id="aBean" class="...">

  ...

</bean>


申明pointcut

<aop:config>

  <aop:pointcut id="businessService"

        expression="execution(* com.xyz.myapp.service.*.*(..))"/>

</aop:config>


申明advice

Before advice

<aop:aspect id="beforeExample" ref="aBean">

    <aop:before

      pointcut-ref="dataAccessOperation"

      method="doAccessCheck"/>

</aop:aspect>

After returning advice:

<aop:aspect id="afterReturningExample" ref="aBean">

 

    <aop:after-returning

      pointcut-ref="dataAccessOperation"

      method="doAccessCheck"/>

         

    ...

   

</aop:aspect>

或者带有返回参数

<aop:aspect id="afterReturningExample" ref="aBean">

 

    <aop:after-returning

      pointcut-ref="dataAccessOperation"

      returning="retVal"

      method="doAccessCheck"/>

         

    ...

   

</aop:aspect>

 

After throwing advice

<aop:aspect id="afterThrowingExample" ref="aBean">

 

    <aop:after-throwing

      pointcut-ref="dataAccessOperation"

      method="doRecoveryActions"/>

         

    ...

   

</aop:aspect>

或者带有throwing

<aop:aspect id="afterThrowingExample" ref="aBean">

 

    <aop:after-throwing

      pointcut-ref="dataAccessOperation"

      throwing="dataAccessEx"

      method="doRecoveryActions"/>

         

    ...

   

</aop:aspect>

After (finally) advice

<aop:aspect id="afterFinallyExample" ref="aBean">

 

    <aop:after

      pointcut-ref="dataAccessOperation"

      method="doReleaseLock"/>

         

    ...

   

</aop:aspect>

Around advice

<aop:aspect id="aroundExample" ref="aBean">

 

    <aop:around

      pointcut-ref="businessService"

      method="doBasicProfiling"/>

         

    ...

   

</aop:aspect>

Advice parameters

<aop:before

  pointcut="Pointcuts.anyPublicMethod() and @annotation(auditable)"

  method="audit"

  arg-names="auditable"/>


对于引入接口(Introductions):

<aop:aspect id="usageTrackerAspect" ref="usageTracking">

  <aop:declare-parents

      types-matching="com.xzy.myapp.service.*+",

      implement-interface="UsageTracked"
      default-impl=" service.tracking.DefaultUsageTracked"/>

  <aop:before

    pointcut="com.xyz.myapp.SystemArchitecture.businessService()

              and this(usageTracked)"

    method="recordUsage"/>

</aop:aspect>

 

 

分享到:
评论

相关推荐

    SPRING2.0中文文档

    Spring 2.0 是一个里程碑式的版本,它在Java企业级开发中扮演着核心角色,为开发者提供了丰富的功能和灵活性。这份全中文的Spring 2.0技术文档是学习和理解这一版本的重要参考资料,旨在帮助中国开发者更好地掌握...

    spring2.0中文手册及使用指南 chm

    Spring 2.0 是一个非常重要的Java框架,它在企业级应用开发中占据了核心地位,尤其是在基于Java的轻量级应用程序上下文(IoC)和面向切面编程(AOP)方面。本手册和使用指南提供了全面的Spring 2.0相关知识,包括其...

    Spring2.0宝典源代码

    《Spring2.0宝典源代码》是一份珍贵的学习资源,由知名作者李刚编写,旨在深入解析Spring框架的2.0版本。这份源代码集合是配合书籍《Spring2.0宝典》使用的,读者可以通过实际操作代码来理解和掌握Spring 2.0的核心...

    Spring2.0中文教程

    Spring 2.0是Spring框架的一个重要版本,它在Java企业级应用开发中扮演着核心角色。本教程将深入探讨...文档`spring2.0-reference_final_zh_cn.chm`将详细阐述这些概念和技术,帮助你成为一名熟练的Spring开发者。

    spring2.0 jar包

    Spring框架是Java开发中不可或...总结,Spring 2.0是一个功能强大且成熟的框架,其依赖注入、AOP、Web MVC等特性使得Java企业级应用开发变得更加高效和灵活。了解并熟练掌握这些知识点,对于提升Java开发能力至关重要。

    spring2.0 中文教程

    2. **AOP(面向切面编程)**:Spring 2.0提供了更强大的面向切面编程支持,使得开发者可以将关注点分离,如日志、事务管理等,从而降低代码复杂性。AOP代理包括JDK动态代理和CGLIB代理,允许开发者定义切入点和通知...

    详尽的Spring2.0学习提纲

    Spring 2.0是Java开发中的一个里程碑,它在企业级应用开发中扮演着至关重要的角色,特别是对于依赖注入(IoC)和面向切面编程(AOP)的支持。本学习提纲旨在为初学者提供一份详尽的Spring 2.0学习指南,帮助他们系统...

    spring2.0中文参考手册.rar

    1. **AOP(面向切面编程)增强**:Spring 2.0 提供了更强大的面向切面编程支持,允许开发者定义更复杂的切面,包括基于注解的切点表达式和更多的通知类型。这使得代码更加整洁,业务逻辑与系统服务(如事务管理)...

    SPRING2.0开发详解

    ### SPRING2.0开发详解 #### 一、Spring框架简介 Spring框架是一个开源的Java平台,用于构建企业级应用程序和服务。它最初由Rod Johnson在2004年创建,并随着时间的发展不断壮大和完善。Spring 2.0版本是Spring...

    Spring 2.0 源代码

    2. **AOP(面向切面编程)**:Spring 2.0提供了更强大的面向切面编程支持,允许开发者定义切面、通知(advisors)和切点(pointcuts),并将其应用于业务代码,实现如日志、事务管理等功能。切面可以是接口、类或...

    spring2.0学习源码

    在Spring 2.0中,最重要的更新之一是AOP(面向切面编程)的增强。这一版本引入了基于注解的AOP支持,使得开发者可以更直观地定义切面,无需编写XML配置。例如,@Before、@After、@Around等注解可以直接应用于方法上...

    Spring2.0技术手册_林信良PDF

    《Spring2.0技术手册_林信良》是一本深入探讨Spring 2.0框架的权威指南,由知名IT专家林信良编写。这本书详细介绍了Spring框架的核心概念、设计原则以及实际应用,对于想要深入了解和掌握Spring 2.0的开发者来说,是...

    spring2.0技术手册_源代码(全十章)

    其次,Spring 2.0强化了依赖注入(DI)和面向切面编程(AOP)的支持。DI是Spring的核心特性,通过源码,我们可以学习到如何定义bean的配置,如何使用`@Autowired`和`@Qualifier`注解实现自动装配,以及如何自定义...

    精通spring2.0源代码

    《精通Spring 2.0源代码》是一本深入解析Spring框架核心原理的书籍,由罗时飞主编。这本书通过对Spring 2.0版本的源代码进行深入剖析,旨在帮助读者全面理解Spring的工作机制,提升在实际开发中的应用能力。源代码的...

    Spring 2.0中文API(chm格式)

    另一个重要特性是AOP(面向切面编程),Spring的AOP模块允许开发者定义横切关注点,如日志记录、事务管理等,这些关注点可以被编织到业务逻辑中,提高代码的可维护性和复用性。Spring 2.0提供了基于注解的AOP支持,...

    spring2.0技术手册.pdf

    2. **面向切面编程(AOP)**:Spring 支持面向切面编程,允许将日志记录、安全控制等通用关注点从业务逻辑中分离出来。 3. **事务管理**:Spring 提供了一个一致性的事务管理接口,无论是在本地事务还是全局事务中...

    spring2.0完整开发包

    Spring 2.0是该框架的一个重要版本,它引入了许多关键特性,为开发者提供了更强大的工具和更好的灵活性。 首先,Spring的核心是依赖注入(Dependency Injection,DI),这允许对象之间的依赖关系在运行时被管理,而...

    spring2.0技术手册 + 源代码

    Spring框架是Java平台上的一个轻量级应用框架,以其依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)而闻名。在Spring 2.0中,这些核心概念得到了强化和完善,使得开发者...

Global site tag (gtag.js) - Google Analytics