吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1374|回复: 10
收起左侧

[求助] spring boot如何获取类上面的注解

[复制链接]
ppgjx 发表于 2022-2-14 19:30
[Asm] 纯文本查看 复制代码
/**
 *
 * 用户登录拦截器
 *
 */
@Slf4j
public class UserLoginInterceptor extends HandlerInterceptorAdapter {

    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    //过滤未登录用户
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        log.info("用户登录拦截器");
        this.hasPermission(handler,request);
        return  true;
    }

    /**
     * 是否有权限
     */
    private boolean hasPermission(Object handler,HttpServletRequest request) {
        if (handler instanceof HandlerMethod) {
            HandlerMethod handlerMethod = (HandlerMethod) handler;


            // 获取方法上的注解
            PxCheckLogin pxCheckPermission = handlerMethod.getMethod().getAnnotation(PxCheckLogin.class);




        }
        return true;
    }
}


如代码可以获取方法上的注解,但是类上的注解怎么判断呢

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

萋小磊 发表于 2022-2-14 19:44
为啥你不尝试打个断点看看 HandlerMethod  里面有什么呢
snwjas 发表于 2022-2-14 19:48
不都一个样嘛?

[Java] 纯文本查看 复制代码
Annotation[] annotations = this.getClass().getAnnotations();
Test annotation = this.getClass().getAnnotation(Test.class);
黄教主 发表于 2022-2-14 19:57
宝宝很腻害 发表于 2022-2-14 21:19
Annotation[] annotations = this.getClass().getAnnotations();
Test annotation = this.getClass().getAnnotation(Test.class);
夏橙M兮 发表于 2022-2-14 22:19
建议去看一下spring cache源码,看一下他们是怎么处理缓存上的注解的。我看了一两天,放弃了。caffeine
pkxiehaonan1 发表于 2022-2-15 08:44
反射获取annotation就能拿到了,不用想那么复杂,方法的怎么获取这个也怎么获取就好了
Piz.liu 发表于 2022-2-15 09:25
HandlerMethod handlerMethod = (HandlerMethod) handler;
T classAnno = handlerMethod.getMethod().getDeclaringClass().getAnnotation(T.class);
汝甚屌令尊知否 发表于 2022-2-15 09:37
AnnotationUtils.getAnnotation() Spring自带的工具类获取注解
VioletKiss 发表于 2022-2-15 09:47
不用拿类的注解,用@Aspect就行,@Pointcut定义切点,@Around("pointcut()")处理你想切入的逻辑
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 15:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表