1,自定义注解名字

@Target({ElementType.TYPE, ElementType.METHOD})   //类名或方法上
@Retention(RetentionPolicy.RUNTIME)//运行时

@component//自定义多个注解,且在一个类中添加两个或以上的,只需要加一个 否则会实例化多次。
public @interface SocketMapping {
 String value() default "";//参数
}

2.测试类

@SocketMapping("/a")
public class TestAnno {

@SocketMapping(value="/b")
 public void ss(){
  System.out.println(11);
 }
 
}

3,解析测试类所在的包,反射

ResourcePatternResolver rpr = new PathMatchingResourcePatternResolver();

Resource[] res = rpr.getResources("classpath*:websocket/**.class");//测试类的包
   
   for(int i=0;i<res.length;i++){
    String className = res[i].getURL().getPath();
    className = className.split("(classes/)|(!/)")[1];
    className = className.replace("/", ".").replace(".class", "");//获取到文件结构  com.xl.joe.testAnno
    Class<?> cla = Class.forName(className);//获取到文件类
    
     if(cla.isAnnotationPresent(SocketMapping.class)){//判断是否存在自定义注解
      System.out.println(cla.getAnnotation(SocketMapping.class).value());//获取自定义注解的属性值
      
     }
     
     Object o = SpringContextUtil.getBean("testAnno");//获取类对象
     
     Method[] methods = cla.getMethods();//获取类的方法
     for(Method method:methods){
      if(method.isAnnotationPresent(SocketMapping.class)){//找到自定义注解
       method.invoke(o, new Object[]{});//反射改方法
      }
     }
    
   }

springmvc 自定义注解 以及自定义注解的解析的更多相关文章

  1. 简单实现springmvc框架(servlet+自定义注解)

    个人水平比较菜,没有这么高的实力简单实现springmvc框架,我是看了一个老哥的博客,这老哥才是大神! 原文链接:https://www.cnblogs.com/xdp-gacl/p/4101727 ...

  2. SpringMVC利用AOP实现自定义注解记录日志

    作者:飞翔的拖鞋up 推荐:彻底征服 Spring AOP 之 实战篇 推荐:jason_zhangz 本文抛砖引玉,并没有详细的介绍更全面的内容,通过一个例子让初次使用的人能够快速入门,简单的介绍一 ...

  3. java注解的自定义和使用

    小伙伴们.今天我们来说说注解.标志@ .针对java不同版本来说,注解的出现是在jdk1.5 但是在jdk1.5版本使用注解必须继续类的方法的重写,不能用于实现的接口中的方法实现,在jdk1.6环境下 ...

  4. Spring注解之-自定义注解

    1.自定义注解,先自定义三个水果属性的注解 元注解: java.lang.annotation提供了四种元注解,专门注解其他的注解(在自定义注解的时候,需要使用到元注解):   @Documented ...

  5. 【JAVA】java注解的自定义和使用

    java注解概念 Java提供了一种原程序中的元素关联任何信息和任何数据的途径和方法 java注解介绍 常用注解 @Override:表示方法是重写的方法 @Deprecated:过时的方法 @Sup ...

  6. Java注解-元数据、注解分类、内置注解和自定义注解|乐字节

    大家好,我是乐字节的小乐,上次说过了Java多态的6大特性|乐字节,接下来我们来看看Java编程里的注解. Java注解有以下几个知识点: 元数据 注解的分类 内置注解 自定义注解 注解处理器 Ser ...

  7. Java中的注解及自定义注解你用的怎么样,能不能像我这样应用自如?

    Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...

  8. Java注解(自定义注解、view注入)

    注解这东西虽然在jdk1.5就加进来了,但他的存在还是因为使用Afinal框架的view注入才知道的.一直觉得注入特神奇,加了一句就可以把对应view生成了. 下面我们来认识一下注解这个东西 一.注解 ...

  9. java 自定义注解以及获得注解的值

    1.自定义注解 import java.lang.annotation.*; @Documented @Target(ElementType.FIELD) @Inherited @Retention( ...

  10. JPA中自定义的插入、更新、删除方法为什么要添加@Modifying注解和@Transactional注解?

    前几天,有个同事在使用JPA的自定义SQL方法时,程序一直报异常,捣鼓了半天也没能解决,咨询我的时候,我看了一眼他的程序,差不多是这个样子的: @Repository public interface ...

随机推荐

  1. Bootstrap <基础二十三>页面标题(Page Header)

    页面标题(Page Header)是个不错的功能,它会在网页标题四周添加适当的间距.当一个网页中有多个标题且每个标题之间需要添加一定的间距时,页面标题这个功能就显得特别有用.如需使用页面标题(Page ...

  2. IE6不支持min-height或max-width等完美解决方法

    又是IE6!!!坑人的IE6,不支持min-height,但是实际操作中,这个属性是非常需要的.那IE6下面怎么实现呢?请看geniusalien提供的完美解决方案:(geniusalien温馨提示: ...

  3. Log4j 用法

    一.Log4j基本使用方法 Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式.日志信息的优先级从高到低有ERROR.WARN. INFO.DEBUG,分别用来 ...

  4. druid.properties的配置

    driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://NoOne:3306/eyes<!--需修改--> username=root ...

  5. asp.net mvc api auth

    一.登录 /// <summary> /// 获取令牌 /// </summary> /// <param name="userName">用户 ...

  6. css测试题

    1.CSS 指的是? 您的回答:Computer Style Sheets 正确答案:Cascading Style Sheets 2.在以下的 HTML 中,哪个是正确引用外部样式表的方法? 您的回 ...

  7. loadrunner四大部分

    loadrunner主要分一下四部分 1.VuGen  主要进行录制,回放,参数化,脚本修改,可以对脚本进行recording options,General options,runtime opti ...

  8. Reverse Linked List II 单向链表逆序(部分逆序)

    0 问题描述 原题点击这里. 将单向链表第m个位置到第n个位置倒序连接.例如, 原链表:1->2->3->4->5, m=2, n =4 新链表:1->4->3-& ...

  9. repo upload上传提交时发生remote rejected异常

    部分关键异常内容为: ...... remote:ERROR:committer email address %%%%%% remote:ERROR:does not match your user ...

  10. UE4 VR GUI实现 参考(UMG AND VR)

    Note:4.13以后版本VR UI采用 WidgetComponent + WidgetInteractionComponent可轻松实现交互 Blueprint Demo: https://for ...