`
Luob.
  • 浏览: 1589897 次
  • 来自: 上海
社区版块
存档分类
最新评论

Spring AspectJ Aop Annotation

阅读更多
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;


@Component
@Aspect
public class PermissionAspect {
    //@Pointcut("execution(* cn.mwee.wpos.service..*(..))")
    @Pointcut("execution(@cn.test.annotation.Permission * *(..))")
    public void permissionPointcut() {}

    @Around("permissionPointcut()")
    public CommonResponse checkPermission(ProceedingJoinPoint joinPoint){ //ProceedingJoinPoint joinPoint
        CommonResponse response=new CommonResponse();
        try {
            // 执行的类
            String exeType = null;
            // 执行的方法
            String exeMethod = null;

            response.getErr().setErrNo(ErrorCode.NO_PERMISSION).setErrMsg(ErrorDesc.NO_PERMISSION);

            MethodSignature signature = (MethodSignature) joinPoint.getSignature();
            exeType = signature.getDeclaringType().getCanonicalName();
            exeMethod = signature.getMethod().getName();

            System.out.println(exeType + " " + exeMethod);
            return response;

            //return (CommonResponse)joinPoint.proceed();
        } catch (Throwable throwable) {
            throwable.printStackTrace();
        }
        return response;
    }
}
分享到:
评论

相关推荐

    Spring用AspectJ开发AOP(基于Annotation)

    Spring用AspectJ开发AOP(基于Annotation) 作为一名IT行业大师,我将详细介绍Spring用AspectJ开发AOP(基于Annotation),并对标题、描述、标签和部分内容进行详细解释。 标题: Spring用AspectJ开发AOP(基于...

    Spring AOP + AspectJ annotation example

    AspectJ是Spring AOP支持的一种强大的、独立的AOP语言,它提供了注解来简化切面的定义。本篇将深入探讨如何结合Spring AOP和AspectJ注解进行实践。 首先,我们需要理解AOP的基本概念。面向切面编程是一种编程范式,...

    spring aop实例annotation方法实现

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

    Spring 使用AspectJ 实现 AOP之前置通知小例子

    标题提到的"Spring 使用AspectJ 实现 AOP之前置通知小例子",指的是利用AspectJ在Spring中实现AOP的一种特定类型的通知——前置通知(Before advice)。前置通知在目标方法执行之前运行,但不会阻止方法的执行。这种...

    Spring的AOP实例(XML+@AspectJ双版本解析+源码+类库)

    对于@AspectJ,可以查看`org.springframework.aspectj.annotation`和`org.springframework.aspectj.weaver`包,理解注解处理和编织过程。 6. 示例应用 我们将通过一个简单的例子,演示如何在XML和@AspectJ两种模式...

    aspectj的jar spring使用aop需要的jar

    综上所述,为了在Spring中利用AspectJ的全部功能,你需要将对应的AspectJ JAR文件加入到项目类路径中,然后按照Spring文档或AspectJ文档的指导配置和使用AOP。这将使你的代码更加模块化,降低耦合,提高可维护性。

    spring-aop.jar

    在Spring中,切面可以通过`@Aspect`注解的类来表示,如`org.springframework.aop.aspectj.annotation.AnnotationAspectAdapter`。 3. **通知(Advice)**:通知是切面中定义的行为,包括前置通知、后置通知、异常...

    org.aspectj.lang.annotation.Around所需要的包

    综上所述,要解决“java.lang.ClassNotFoundException: org.aspectj.lang.annotation.Around”错误,确保这三个jar包已经正确地添加到项目的类路径中,并且正确配置了Spring的AOP设置。通过这种方式,你可以充分利用...

    spring-aop-annotation-log-all

    spring-aop-4.0.4.RELEASE.jar com.springsource.net.sf.cglib-2.2.0.jar com.springsource.org.aopalliance-1.0.0.jar com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar spring-aspects-4.1.2.RELEASE.jar ...

    spring_AOP.rar_876.aop_java aop_spring_aop

    3. AspectJ集成:Spring还支持完全基于AspectJ的AOP,提供了更强大的表达式语言和更灵活的切面定义。 在给定的压缩包文件中,我们可以看到以下几个子文件: 1. Spring_AOP_DynProxy:这可能包含有关Spring动态代理...

    spring 3.0 aop 实例

    你可以通过查看`org.springframework.aop.framework.ProxyFactoryBean`和`org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAutoProxyCreator`等类来了解其内部工作原理。 7. **工具辅助**:在...

    spring-aop源码

    切点由`org.springframework.aop.aspectj.annotation.AnnotationMethodPointcut`等类实现,它们通常基于注解(如`@Before`、`@After`等)来定义。 五、切面(Aspect) 切面是通知和切点的组合,它定义了关注点如何...

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

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

    简单spring aop 例子

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

    spring4 AOP 面向切面编程@Aspect

    为了启用Spring的AOP功能,需要在配置中声明`<aop:aspectj-autoproxy>`或使用`@EnableAspectJAutoProxy`注解。然后,Spring容器会自动代理匹配的bean,以便在适当的时候插入通知。 总结一下,Spring 4的AOP通过`@...

    Spring2.5使用AOP需要的aspectJ

    AspectJ是一个成熟的AOP框架,Spring在其AOP实现中整合了AspectJ,提供了更强大的面向切面编程能力。本篇文章将详细探讨在Spring 2.5中使用AspectJ进行AOP开发所需的知识点。 首先,我们需要理解AOP的核心概念: 1....

    spring-aop-aspectj-case

    标题“spring-aop-aspectj-case”涉及到的是Spring框架中的AOP(面向切面编程)与AspectJ的集成使用案例。在Spring框架中,AOP用于处理系统中的横切关注点,如日志、事务管理等,而AspectJ则是一个强大的、独立的...

    Spring @AspectJ 实现AOP 入门例子

    本篇文章将深入探讨如何利用Spring的@AspectJ注解来实现AOP,这是一个入门级别的例子,旨在帮助开发者理解并掌握这一关键特性。 首先,我们要明白什么是AOP。面向切面编程是一种编程范式,它允许程序员定义“切面”...

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

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

    AOP.rar-Spring-AOP源码Demo

    - **`org.springframework.aop.aspectj.annotation.AnnotationAwareAspectJAdvisorFactory`**:处理基于注解的切面,创建顾问(advisor)对象。 - **`org.springframework.aop.aspectj.AspectJAroundAdvice`**:...

Global site tag (gtag.js) - Google Analytics