spring怎么获取在jar包中自定义注解的实体类上的注解

spring怎么获取在jar包中自定义注解的实体类上的注解,第1张

把打包后的jar文件与spring注解依赖jar包放在同一个JVM下运行(就是运行时能在classpath找到那些注解的相关类)应该没有问题的!还有就是要保证编译和运行的jdk版本相同

jointpoint

通过JpointPoint对象可以获取到下面信息

# 返回目标对象,即被代理的对象

Object getTarget();

# 返回切入点的参数

Object[] getArgs();

# 返回切入点的Signature

Signature getSignature();

# 返回切入的类型,比如method-call,field-get等等,感觉不重要

String getKind();

切入点的方法名字及其参数

切入点方法标注的注解对象(通过该对象可以获取注解信息)

切入点目标对象(可以通过反射获取对象的类名,属性和方法名)

1 获取切入点所在目标对象

Object targetObj =joinPointgetTarget();

# 可以发挥反射的功能获取关于类的任何信息,例如获取类名如下

  String className = joinPointgetTarget()getClass()getName();

2获取切入点方法的名字

getSignature());是获取到这样的信息 :修饰符+ 包名+组件名(类名) +方法名

这里我只需要方法名

String methodName = joinPointgetSignature()getName()

3 获取方法上的注解

方法1:xxxxxx是注解名字

  Signature signature = joinPointgetSignature();

        MethodSignature methodSignature = (MethodSignature) signature;

        Method method = methodSignaturegetMethod();

        if (method != null)

        {

            xxxxxx annoObj= methodgetAnnotation(xxxxxxclass);

        }

        return null;

1

2

3

4

5

6

7

8

9

方法2:上面我们已经知道了方法名和类的对象,通过反射可以获取类的内部任何信息。

// 切面所在类

        Object target = joinPointgetTarget();

        String methodName = joinPointgetSignature()getName();

        Method method = null;

        for (Method m : targetgetClass()getMethods()) {

            if (mgetName()equals(methodName)) {

                method = m;

              //  xxxxxx annoObj= methodgetAnnotation(xxxxxxclass);同上

                break;

            }

        }

1

2

3

4

5

6

7

8

9

10

11

12

13

4 获取方法的参数

这里返回的是切入点方法的参数列表

Object[] args = joinPointgetArgs();

————————————————

>

以上就是关于spring怎么获取在jar包中自定义注解的实体类上的注解全部的内容,包括:spring怎么获取在jar包中自定义注解的实体类上的注解、jointpoint和ProceedingJoinPoint区别、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10638793.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存