Spring 怎么获取自定义注解标注的方法

在我自己的项目中,我自定义一个注解

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface ExcelSheet {

    /**
     * 表格类别
     * @return
     */
    String value();

    /**
     * 创建的顺序(越大越往后执行)
     * @return
     */
    int index();
}

用来标注一些方法
例如:

 @ExcelSheet(value = "excel", index = 1)
    public void firstCallImpl() {
   //一些执行的代码
}

我现在的需求:
如果有多个方法被这个注解标注了那么,我能通过这个注解获取这个方法吗?
感谢大佬们的回答

0

2个回答

以aop around 为列,可以这样写,仅供参考

@Around("within(com.fly..* )")
 public Object around(ProceedingJoinPoint joinPoint)
        throws Throwable
    {
        String className = joinPoint.getTarget().getClass().getSimpleName();
        MethodSignature signature = (MethodSignature)joinPoint.getSignature();
        Method method = signature.getMethod();
        String methodName = new StringBuilder(className).append(".").append(method.getName()).toString();
        boolean isExcelSheet = method.isAnnotationPresent(ExcelSheet.class);
                。。。
        }   
2
u014007345
asgkkigh 不过还是谢谢你,共同进步
3 天之前 回复
u014007345
asgkkigh 你这个是调用的时候才会获得,但是我现在需要的效果是启动的时候,因为我写的时候不知道多少个方法调用了这个,我只知道我要调用含有这个注解的方法
3 天之前 回复

补充下这个问题的需求:
上边这个问题的需求的原因:
我现在需要做一个excel ,一个excel里会有多个sheet ,我这个就是给注解的value相同的就会组成一个excel,而且根据index 的先后调用,到时候我就不用手动调用生成每个sheet。我只需要关注每个sheet是怎么生成的,达到解耦的目的

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何获取自定义注解标记的类
1、如何把一个包里所有自己想要的自定义注解标记的类,放入容器(一个Set<Class<?>>)中? @Controller //比如@Controller是自定义的注解 public class HelloController{ //在A包下 // .... } @Controller public class TestController{//在B包下 ...
Springmvc 自定义@自定义注解(头标注、头标签)
Springmvc 自定义@自定义注解(头标注、头标签)
spring中自定义注解(annotation)与获取注解
package me.lichunlong.spring.annotation; import java.lang.annotation.Documented;    import java.lang.annotation.ElementType;    import java.lang.annotation.Retention;    import java.lang.annotat
Spring启动时获取自定义注解的属性值
Spring启动的时候获取自定义注解的值自定义注解
SpringBoot自定义注解获取参数和值
maven依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> 一、自定义注解 import java.lang.annotat...
Spring MVC 集成 AOP,自定义注解,在切面获得方法参数,以及自定义注解的参数。
本文实现了,自定义个注解,用来标注切入点,就是说,你想让哪些个方法执行切面的方法,只需要在这些方法上面,添加自定义注解,然后,就可以执行切面的advice啦。 我们在切面可以拿到: 1,当前执行方法的参数。 2,自定义注解上定义的参数。 3,顺便获得当前session里面的用户吧。 要在spring mvc里面集成aop,那么就得先看如何完善配置文件。 这有个前提。 就是你的项目已经
Spring MVC 自定义注解传参
1.场景在控制器中,需要获取用户详细信息,该信息可能存储在session或数据库中,为了简便,可以通过自定义注解的方式,将用户信息传入 1/** 2 * 获取当前用户信息 3 * @param currentUser 4 * @return 5 */ 6@GetMapping("/getCurrentUser") 7public ResponseEntity<?> getC...
spring boot 获取指定类中自定义注解的内容
一、获取自定义注解内容: /**  * 自定义注解内容获取  * @author Chen,Shunhua  * @date 2017年9月26日 上午10:53:39  */ public class RequestLimitUtils { /** * 查询指定controller中的功能点信息 * @param clazz: controller类名 * @param en
spring aop实现的2种方式,以及自定义注解
发给你
Spring中自定义注解与AOP中获取注解
原文地址:http://blog.csdn.net/qpfjalzm123/article/details/45061701 一、自定义注解(annotation) 自定义注解的作用:在反射中获取注解,以取得注解修饰的类、方法或属性的相关解释。 package me.lichunlong.spring.annotation; import Java.lang.annot
Spring boot 自定义注解 简单版本解析参数
背景:其实就是想用一个注解,来统一处理获取userid的解析过程。 嗯,但是我觉得自己对注解也没有那么了解,所以再记录下。spring boot 中自定义注解的方案:STEP1. 定义注解STEP2. 注解解析1. 定义注解import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import j...
AOP中获取自定义注解的属性值
自定义注解@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface SystemLog { public String description() default ""; }用在方法上@ResponseBody @ValidRequestBody @RequestMapping("/log...
通过JDK动态代理和自定义注解来控制方法级别的权限访问
自定义一个场景,玩电脑和睡觉,电脑只能是人玩,但是人,猫,狗都可以睡觉      这里将玩游戏和睡觉抽象出两个方法:     1.playComputer     2.sleep      将人和动物抽象出来成一个类:     1.Animal  但是怎么通过动态代理加自定义注解去让playComputer只能让人调用,sleep方法人,猫,狗都可以调用呢?  有个思路就是,在方法上面
正确实现用spring扫描自定义的annotation
在使用spring时,有时候有会有一些自定义annotation的需求,比如一些Listener的回调函数。比如:@Service public class MyService { @MyListener public void onMessage(Message msg){ } }一开始的时候,我是在Spring的ContextRefreshedEvent事件里,通过c
使用Spring Boot的AOP处理自定义注解
前言 上一篇文章Java 注解介绍讲解了下Java注解的基本使用方式,并且通过自定义注解实现了一个简单的测试工具;本篇文章将介绍如何使用Spring Boot的AOP来简化处理自定义注解,并将通过实现一个简单的方法执行时间统计工具为样例来讲解这些内容。 AOP概念 面向侧面的程序设计(aspect-oriented programming,AOP,又译作面向方面的程序设计、观点导向
spring 拦截器 spring自定义注解
从别人处转载 找不到出处 最近项目里加上了用户权限,有些操作需要登录,有些操作不需要,之前做项目做权限,喜欢使用过滤器,但在此使用过滤器比较死板,如果用的话,就必须在配置文件里加上所有方法,而且 不好使用通配符。所以想了想,之前在人人用过的一种比较简单灵活的权限判断,是采用Spring 的 methhodInterceptor拦截器完成的,并且是基于注解的。 现在自己写了一套。大概是用
Spring 自定义注解,带增强,环绕的注解
源文件地址:https://www.cnblogs.com/magicalSam/p/7161942.html java在jdk1.5中引入了注解,spring框架也正好把java注解发挥得淋漓尽致。 下面会讲解Spring中自定义注解的简单流程,其中会涉及到spring框架中的AOP(面向切面编程)相关概念。 不清楚java注解的,可以先了解java自定义注解:Java自定
spring自定义注解及aop中获取注解的值
自定义注解: package aop; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java....
通过Spring实现对自定义注解属性进行资源注入
通过上一篇 利用自定义Java注解实现资源注入 介绍的方法,我们实现了通过自定义注解完成了对DataSource资源的注入,但在实际应用中,我们通常不希望去显式的去声明这样的MyAnnotationBeanProcessor对象来帮助我们完成注入,而是希望通过Spring帮我们“悄悄地”完成。 继 利用自定义Java注解实现资源注入 里的代码(部分代码)不变,我们希望在测试类中以如下方法调用...
Spring 关于bean的获取以及自定义注解的起始注入和获取
最近有收获了一点东西,特来记录。假设一个场景,一个学生的学习计划根据其不同的人,和学习内容有不同的结果,和处理方式。按照我们正常的写法,应该是就是构造一个’内容‘接口。例如 public interface PersonAnnotationService { public String testPrint(); }   接下来我们应该制造很多实现类,区分人和学习内容来根据不同的情况获取不同的
java自定义Annotation,得到注解类中Annotation设定的注解值
注解类中Annotation设定的注解值
Spring AOP从入门到放弃之自定义注解收集系统日志
希望的效果为需求用户点击了某个界面,请求了后台某个接口。接口请求到后台后,记录请求的数据到数据库中。实现方式1、自定义一个注解,被加注解的方法,请求的数据被保存下来 2、定义一个aop 去拦截被注解的方法 3、写一个线程池、执行拦截后的逻辑。也就是保存到数据库中效果图查看到刚刚请求用户列表界面的执行情况实现步骤1、自定义注解@Target(ElementType.METHOD) @Retenti
使用自定义注解方式配合spring读取配置文件
一、使用@interface关键字来标识为注解类:@Target({ ElementType.TYPE })@Retention( RetentionPolicy.RUNTIME )@Componentpublic @interface Config {}@Target({ ElementType.TYPE })为注解的作用目标  这里表示的是作用为接口、类、枚举、注解@Retention( Re...
用Spring Aop方式拦截自定义注解的实现
本文介绍一下,用aop的方式实现对自定义注解的使用,所用框架是SpringBoot 引入maven依赖 <!-- 引入aop支持 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-a...
Spring自定义注解
java注解:附在代码中的一些元信息,用于在编译、运行时起到说明、配置的功能。 一、元注解 java提供了4中元注解用于注解其他注解,所有的注解都是基于这四种注解来定义的。 @Target注解:用于描述注解的使用范围,超出范围时编译失败。   取值类型(ElementType):     1.CONSTRUCTOR:用于描述构造器     2.FIELD:用于描述域(成
springboot自定义注解(一)
在整个spring框架中,提供的注解非常的多,这些注解简化了我们的很多操作。那么,我们如何自定义注解呢? 第一步:学习已有的注解 @Target({ElementType.METHOD, ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Mapping public @interface RequestMap...
基于自定义注解的spring aop拦截与参数获取
       为了对某些接口访问进行权限校验,尝试用通过自定义注解对需要校验的Controller方法进行拦截,可获取方法上的参数、@requestMapping注解参数(uri、method等),根据这些参数确定唯一资源,通过校验逻辑来管理是否执行该方法的执行以及自定义返回消息提示给前端。 1.定义切点,自定义一个名为ValidateOnAccess 的注解 package com.wei...
自定义注解(spring)
终于有时间可以在这里写一篇博文了,今天写一下我在项目中用到的自定义注解,就是在每次操作项目的时候,想把它的操作加在我的数据库中,简单地说就是日志管理,这些东西都写完之后,我就问我自己,问什么要自定义注解写,而不是什么模式(代理模式,装饰器模式…),原始代码等等,一下子楞了,于是学习了这个东西,今天就在这里总结一下。。。 编程思想:垂直化编程,就是A—B—C—D…等执行下去,一个逻辑一个逻辑
利用AOP获取自定义标签的参数以及方法的参数
在放假之前就一直在解决这个问题,当时采用的方法的是利用拦截器对自定义的标签进行拦截。采用的是下边的方法。 Method method = invocation.getMethod(); MetaCacheable metaCacheable = method.getAnnotation(MetaCacheable.class); String cacheName = KeyInfo.getFro
spring boot 中 自定义注解,并通过注解反射获取类实例
/** * Copyright 2017-2025 Evergrande Group. */ package com.eg.egsc.scp.accesscontrolcomponent.mq.iotmq; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.core
获取指定包下所有自定义注解并提取注解信息
自定义了Controller和RequestMapping两个注解,先去扫描加了@Controller注解的类,接着扫描这些类下面加了@RequestMapping注解的方法,然后通过Java的反射invoke方法去调用加了RequestMapping注解的方法并输出注解上的信息。annotation包下面自定义了两个注解。Controller.java:package annotationTest
Spring Boot系列-使用自定义注解校验用户是否登录
摘要: 记得今年年初刚开始面试的时候,被问的最多的就是你知道Spring的两大核心嘛?那你说说什么是AOP,什么是IOC?我相信你可能也被问了很多次了。 1、到底是什么是AOP? 所谓AOP也就是面向切面编程,能够让我们在不影响原有业务功能的前提下,横切扩展新的功能。 记得今年年初刚开始面试的时候,被问的最多的就是你知道Spring的两大核心嘛?那你说说什么是AOP,什么是IOC?我相信你可能也...
使用自定义注解实现对实体类指定属性的查询操作DEMO
一直没什么机会使用自定义注解,今天现学现卖尝试写了个小demo,定义了一个属性注解用于标注在实体类的属性上,一个处理类用于获取从指定数据库查询出对应的结果集。主要是想实现自定义注解的功能思路所以代码中基本没考虑非注解相关各种情况的处理。 注解类MyField.java package com.test; import java.lang.annotation.ElementType; im...
SpringMvc自定义注解获取用户登陆信息
一.先声明注解类 package com.wfy.controller; import java.lang.annotation.*; /** * Created with IntelliJ IDEA. * Description: * * @author 王飞焱 * Date: 11:29 * Time: 2018/8/10 */ @Target({ElementType....
spring拾遗(四)——自定义注解实现interceptor的指定拦截
为了对指定方法进行权限验证等操作,很多时候我们要采用aop或者interceptor的方式,一直对自定义注解+interceptor的拦截方式不是特别了解,今天入了一下门。 首先自定义一个注解,@Target(ElementType.METHOD)表示这个注解只能在METHOD上使用,@Retention(RetentionPolicy.RUNTIME) 表示运行时生效,剩下那个没啥用 @Ta
SpringMvc通过自定义注解在方法的参数中注入数据
说一个场景,有时候我们做后台业务的时候,经常需要取session中存储的用户信息,所以免不了一直需要写下面这一段又长又无聊的代码:MemberCommand memberCommand = (MemberCommand) request.getSession().getAttribute(SessionAttr.MEMBER_DETAIL);那么怎么避免这个事情呢,下面我们就来通过一个自定义注解@M
springboot集成websocket通过自定义注解+切面实现实时消息提醒
        上一篇文章介绍springboot如何集成websocket,而我们的需求是当上一个人审核通过了下一个人能实时的收到提醒。所有还需要进一步的升级,实现思路:①在上一个人审核操作的方法上打上一个aop拦截的自定义注解②在aop中执行发送消息操作 1.自定义注解 /** * (描述该文件) * @author tlj * @date 2018年9月15日 上午10:37:3...
使用自定义注解实现登录用户获取
业务功能场景 在代码程序中很多接口的调用会有限制,需要用户在登录状态下才能进行操作(需要众多用户的信息等),这里就使用注解在调用接口的时候进行验证拦截。 自定义一个注解 package com.timothy.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Reten...
springboot 自定义注解+AOP 实现日志记录
      一.自定义注解   package com.xiaojukeji.common.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import j...
在spring的aop中获取自定义注解的参数值,即在切面中获取annotation的参数值
在spring的aop中获取自定义注解的参数值,即在切面中获取annotation的参数值
文章热词 Java spring cloud用户权限设计 Java spring cloud 部署方案 Java spring cloud前后端分离权限控制 Java spring cloud服务鉴权搭建 Java spring cloud服务鉴权agent配置
相关热词 bootstrap与spring +spring bootstrap bootstrap 日期控件标注日期 python价格趋势标注 人工智能标注培训