`

Spring2.0切面定义

 
阅读更多

切入点用来匹配在哪些连接点(Spring AOP中只是方法执行)上执行通知(请参考Spring AOP方面的资料)。

切入点定义格式如下:

 

 execution (modifiers-pattern? ret-type declaring-type? name-pattern (param-pattern) throws-pattern?)

其中方法返回值(ret-type)和方法名(name-pattern),参数(param-pattern)必选,其他为可选。

 

返回类型常用*,表示任意返回类型;也可用*匹配名字模式,表示任意名字的方法;

参数匹配方式有几种方式:

1.()匹配一个不接受参数的方法;

2.(..)匹配一个接受任意多个参数的方法(0个或多个);

3.(*)匹配一个接受一个任意类型参数的方法;

4.(*,String)匹配一个接受一个任意类型参数和一个String类型参数的方法;

 

 

以下是一些切入点表达式例子(记录于Spring官方文档)

 

一、任意公共方法的执行

execution (public * *(..))

 

二、任何一个名字以“set”开头的方法执行

execution (* set*(..))

 

三、AccountService接口定义的任意方法的执行

execution (* com.rote.AccountService.*(..))

 

四、在service包中定义的任意方法的执行

execution (* com.rote.service.*.*(..))

 

五、在service包及其子包中定义的任意方法的执行

execution (* com.rote.service..*.*(..))

 

六、在service包中的任意连接点(Spring AOP中只是指方法执行)

within (com.rote.service.*)

 

七、在service包中及其子包中定义的任意连接点(Spring AOP中只是指方法执行)

within (com.rote.service..*)

 

八、实现了AccountService接口的代理对象的任意连接点(Spring AOP中只是指方法执行)

this (com.rote.AccountService)

 

九、实现了AccountService接口的目标对象的任意连接点(Spring AOP中只是指方法执行)

target (com.rote.AccountService)

 

十、任何一个只接受一个参数,且运行时所需传入的参数是Serializable接口的连接点(Spring AOP中只是指方法执行)

args (java.io.Serializable)

 

第十点中的定义和execution (* *(java.io.Serializable)) 不同;args只有在动态运行时传入参数是Serializable时匹配,execution在方法签名中声明只有一个Serializable类型的参数时匹配

 

 

分享到:
评论

相关推荐

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

    在Spring 2.0中,你可以定义切面、切点、通知和织入策略,从而提高代码的可读性和可维护性。 再者,Spring 2.0还包含了一个强大的数据访问层,支持JDBC、ORM框架(如Hibernate和JPA)以及模板类,如JdbcTemplate和...

    Spring2.0宝典源代码

    1. **AOP(面向切面编程)增强**:Spring 2.0加强了对AOP的支持,允许开发者定义更复杂的切面,如注解驱动的切面,提供了更多的通知类型,如around、before、after等,使得代码更加模块化和可维护。 2. **注解驱动...

    SPRING2.0中文文档

    Spring 2.0的AOP增强了切入点表达式,使得定位切点更加灵活,并引入了基于注解的切面定义,让切面编写更加直观。 四、数据访问集成 Spring 2.0在数据访问层提供了对各种持久化技术的集成,包括JDBC、ORM(Hibernate...

    Spring2.0中文教程

    Spring 2.0支持面向切面编程,允许开发者定义横切关注点,如日志、事务管理和安全性,作为可重用的模块。AOP通过切点(pointcut)和通知(advice)实现,使得代码更加模块化,降低了复杂性。 3. **IoC容器** ...

    spring2.0 jar包

    @Aspect注解用于定义切面,@Before、@After、@Around等用于指定通知类型。此外,Spring还支持自定义注解作为切入点表达式,提高了代码可读性。 三、数据访问集成 在Spring 2.0中,对数据访问层进行了全面升级,支持...

    spring2.0 中文教程

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

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

    spring2.0中文参考手册.rar

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

    spring2.0学习源码

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

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

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

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

    书中有专门章节讲述如何定义和使用切面,以及基于注解的AOP实现。 4. **数据访问**:Spring 2.0增强了对JDBC、ORM框架(如Hibernate和iBatis)的支持,提供了声明式事务管理。书中将指导读者如何利用Spring进行...

    spring2.0完整开发包

    其次,Spring的AOP(面向切面编程)允许开发者定义“切面”,即关注点的模块化,如日志、事务管理等。Spring 2.0在AOP方面进行了增强,支持更多的通知类型,包括环绕通知,使切面的实现更为灵活。 Spring MVC是用于...

    spring2.0技术手册--林信良

    - **支持 AspectJ**:Spring 2.0 增加了对 AspectJ 的支持,这使得开发者可以利用 AspectJ 的强大功能来编写更加复杂的切面逻辑。 ##### 2.2 IOC 容器优化 - **Bean 的懒加载**:通过设置 `...

    spring2.0技术手册.pdf 高清版

    2. **AOP(Aspect-Oriented Programming,面向切面编程)**:Spring 2.0在AOP方面进行了扩展,提供了更强大的面向切面的编程能力。开发者可以定义切面,实现如日志、事务管理等跨切面关注点的统一处理,提高了代码的...

    SPRING2.0---SPRING2.0 說明1

    2. **AOP(Aspect Oriented Programming, 面向切面编程)**:Spring 2.0引入了完整的AOP支持,允许开发者定义和执行横切关注点,如日志、事务管理等,从而将这些通用功能与业务逻辑分离。 3. **Bean的生命周期管理*...

    Spring 2.0中文API(chm格式)

    Spring 2.0提供了基于注解的AOP支持,进一步简化了切面的定义。 Spring MVC是Spring框架的一部分,它提供了一个用于构建Web应用程序的模型-视图-控制器(MVC)架构。Spring 2.0在Spring MVC中引入了更多的改进,...

    Spring2.0技术手册高清完整版

    2. **AOP(面向切面编程,Aspect-Oriented Programming)**:Spring 2.0加强了对AOP的支持,允许开发者定义“切面”来封装横切关注点,如日志、事务管理等,提高了代码的可维护性和可复用性。 3. **Bean管理**:...

Global site tag (gtag.js) - Google Analytics