aop注解的配制方法

@Aspect
@Component


public class GrantActionAspect {
    

    //相当于一个被切入点,指master包下的所有方法

    @Pointcut("within(ps.service.master..*)")
    private void masterMethod() {
    }

 

    //masterMethod相当于被切入点的id,所有的通知要织入该切入点只写该切入点的ID即可

    @Before("masterMethod()")
    public void checkGrant() throws Exception {
           }

 

 

// 拦截对目标对象方法调用  
    @Around("com.crane.aspect.LoggerAspect.aroundPointCut()")  
    public Object doLoggerPointCut(ProceedingJoinPoint jp) throws Throwable {  
        // 获取连接点的方法签名对象  
        MethodSignature joinPointObject = (MethodSignature) jp.getSignature();  
        // 连接点对象的方法  
        Method method = joinPointObject.getMethod();  
        // 连接点方法方法名  
        String name = method.getName();  
        Class<?>[] parameterTypes = method.getParameterTypes();  
        // 获取连接点所在的目标对象  
        Object target = jp.getTarget();  
        // 获取目标方法  
        method = target.getClass().getMethod(name, parameterTypes);  
        // 返回@AroundPointCut的注释对象  
        AroundPointCut joinPoint = method.getAnnotation(AroundPointCut.class);  
        if (!joinPoint.accessRead()) {  
            throw new ApplicationException("没有权限!");  
        }  
        return jp.proceed();  
    }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值