`

Spring AOP annotation 拦截表达式 分析

 
阅读更多

在app.xml中要加入aop的命名空间,看

http://static.springsource.org/spring/docs/2.0.x/reference/aop.html#aop-ataspectj

 

然后开启aop

<aop:aspectj-autoproxy />

 

在定义AOP的类中,要写@Aspect,表示这是个切面

还要加上@Component,让此aop交给Spring 管理

 

1、

 @Pointcut("execution(* com.mhm.mng.impl..*.*(..))")

 第一个*表示 返回类型

如果写成java.lang.String 则表示只对com.mhm.mng.impl 下的类以及子包下的类和方法进行拦截

*.*表示 类下面的方法

(..)表示方法中的参数随意

 

2、

 com.mhm.mng.impl..*(..) 

 表示对com.mhm.mng.impl下的类以及子包下的类进行拦截

 

3、

com.mhm.mng.impl.PersonalMngimpl.*(..) 

表示对表示对com.mhm.mng.impl下的PersonalMngimpl的所有方法进行拦截

 

4、

方法参数:

 @Pointcut("execution(* com.mhm.mng.impl..*.*(java.lang.String, ..))")

 表示如果方法第一个参数为String类型,第二个参数可有可无

 

 

5、拦截所有的返回值不是 void的方法

@Pointcut("execution(!void com.mhm.mng.impl..*.*(java.lang.String, ..))")
分享到:
评论
1 楼 tomfish88 2012-05-17  
比如我要拦截不同业务的service类里面的方法 
@Pointcut("execution(* *Service.*(..))")    我这样写怎么不好用呢

相关推荐

    springboot+aspect实现springaop拦截指定方法.zip

    SpringBoot结合AspectJ实现SpringAOP拦截指定方法的知识点涵盖了多个方面,这包括Spring AOP的基本概念、SpringBoot的应用、切点(Pointcut)与通知(Advice)的定义、自定义注解以及AspectJ的使用。以下是这些知识...

    Spring_Annotation_AOP

    在本资料"Spring_Annotation_AOP"中,我们将深入探讨Spring框架如何利用注解实现AOP,以及其背后的原理和实践应用。 面向切面编程(AOP)是一种编程范式,旨在提高代码的可维护性和可重用性,通过将关注点分离,...

    spring aop实例annotation方法实现

    本实例将详细探讨如何通过注解(Annotation)来实现Spring AOP的方法拦截。 一、Spring AOP基础 Spring AOP是Spring框架的一部分,它提供了一种在运行时织入横切关注点(如日志、事务管理等)到目标对象的能力。AOP...

    spring aop日志拦截

    在Spring MVC框架中,AOP(面向切面编程)是一种强大的工具,用于实现日志拦截,特别是对于controller层的操作。AOP允许我们定义横切关注点,这些关注点可以是如日志记录、事务管理、权限检查等通用功能,它们在程序...

    简单spring aop 例子

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

    spring aop 拦截器简单实现

    在Spring AOP中,拦截器扮演着关键角色。它是一个实现了`org.springframework.aop.MethodBeforeAdvice`、`org.springframework.aop.AfterReturningAdvice`或`org.springframework.aop.ThrowsAdvice`等接口的对象,...

    Spring aop 性能监控器

    在IT行业中,Spring AOP(面向切面编程)是一种强大的工具,它允许我们在不修改代码的情况下,对应用程序的特定部分进行拦截和增强。这在性能监控、日志记录、事务管理等方面尤为有用。本篇文章将深入探讨如何使用...

    spring aop 附带测试实例

    在提供的压缩包文件"springAOP"中,可能包含了以下内容: - **切面类(Aspect Class)**:包含切点和通知的Java类,可能使用了`@Aspect`注解。 - **目标类(Target Class)**:被AOP代理的对象,通常包含业务逻辑。...

    spring aop 拦截日志示例

    在Spring AOP(面向切面编程)中,我们可以通过定义拦截器来实现对系统操作日志和异常日志的记录,这些日志信息通常会被存储到数据库中以便于后续的分析和故障排查。下面将详细介绍如何使用Spring AOP实现这个功能。...

    spring aop xml 实例

    在Java开发领域,Spring框架以其强大的功能和灵活性深受开发者喜爱,而Spring AOP(面向切面编程)则是Spring框架中的一个重要组成部分。AOP允许开发者定义“切面”,它是一种将关注点分离的方式,使得我们可以把...

    spring MVC AOP注解方式如何拦截controller 例子

    如果遇到拦截不到的情况,检查切入点表达式是否正确,以及是否正确地配置了Spring的AOP支持。 以上就是使用AspectJ注解方式在Spring MVC中拦截Controller方法的基本步骤和示例。实践中,你可以根据需求调整切入点...

    SpringAOP简单项目实现

    总结,这个"SpringAOP简单项目实现"涵盖了Spring AOP的基础知识,包括切面、通知、切入点的定义与配置,以及如何在实际项目中使用Maven进行构建和依赖管理。对于初学者来说,这是一个很好的实践案例,能够帮助他们...

    Spring-AOP-JDK动态代理

    Spring AOP可以利用JDK动态代理来实现对方法的拦截,当调用目标对象的方法时,实际上执行的是代理对象的方法,从而实现在方法执行前后加入额外逻辑。 以下是使用JDK动态代理实现Spring AOP的步骤: 1. **定义切面...

    理解Spring AOP实现与思想 案例代码

    Spring AOP(面向切面编程)是Spring框架中的一个重要特性,它允许开发者在不修改源代码的情况下,通过插入额外的代码(称为切面)来增强应用程序的功能。这主要通过代理模式实现,使得我们可以集中处理系统中横切...

    Spring_aop.rar_spring aop

    在Java Web开发中,Spring AOP(面向切面编程)是一种强大的工具,它允许开发者将关注点分离,提高代码的可重用性和可维护性。本文将深入探讨Spring AOP的核心概念、工作原理以及如何在实际项目中应用。 **1. ...

    Spring AOP 权限

    在Spring AOP中,我们可以定义切面(Aspects)来拦截方法调用,检查调用者的权限,并在必要时阻止其执行。 1. **切面**:切面是AOP的核心概念,它封装了特定的关注点,比如权限检查。一个切面通常包含通知(Advice...

    Spring AOP 常用的四种实现方式的代码

    - `@Pointcut`:定义切入点表达式,确定哪些方法会被拦截。 - `@Before`:前置通知,在目标方法执行前执行。 - `@After`:后置通知,在目标方法执行后执行。 - `@AfterReturning`:返回后通知,目标方法正常返回后...

    对spring aop 各个组件进行实现

    总结来说,Spring AOP通过自定义注解和切入点表达式提供了一种强大的方式来分离关注点,使得我们可以更专注于业务逻辑,而不是重复的辅助任务。在这个项目中,我们展示了如何创建自定义注解并编写相应的切面,以及...

    Spring AOP 代码

    **Spring AOP 概述** Spring AOP(Aspect Oriented Programming,面向切面编程)是Spring框架中的一个重要组成部分,它提供了在不...结合提供的`SpringAop`文件,你可以进一步研究和实践Spring AOP的具体实现和应用。

    aspectj的jar spring使用aop需要的jar

    Spring AOP主要用于方法拦截,通过代理模式来实现切面。 2. **AspectJ集成**:虽然Spring AOP功能强大,但AspectJ提供了更全面的AOP特性,如注解支持、类型匹配、环绕通知等。当Spring与AspectJ结合使用时,可以...

Global site tag (gtag.js) - Google Analytics