写一个@SessionCheck注解

401 阅读1分钟

1.@Interface -> @Aspect

@Interface(注意艾特符号)

package com.cicc.gwms.aop.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SessionCheck {

}

@Aspect(@Around(@annotation))

@Aspect
@Component
public class SessionStateAspect {
    @Around("@annotation(com.example.aop.annotation.SessionCheck)")
    public Object checkSessionState(ProceedingJoinPoint joinPoint) throws Throwable {
        ApiBaseMessage sessionError = ApiHelper.sessionCheck();
        if (sessionError != null) {
            return sessionError;
        }else
        {
            return joinPoint.proceed();
        }
    }
}