springmvc 自定义注解 以及自定义注解的解析
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 自定义注解 以及自定义注解的解析的更多相关文章
- 简单实现springmvc框架(servlet+自定义注解)
个人水平比较菜,没有这么高的实力简单实现springmvc框架,我是看了一个老哥的博客,这老哥才是大神! 原文链接:https://www.cnblogs.com/xdp-gacl/p/4101727 ...
- SpringMVC利用AOP实现自定义注解记录日志
作者:飞翔的拖鞋up 推荐:彻底征服 Spring AOP 之 实战篇 推荐:jason_zhangz 本文抛砖引玉,并没有详细的介绍更全面的内容,通过一个例子让初次使用的人能够快速入门,简单的介绍一 ...
- java注解的自定义和使用
小伙伴们.今天我们来说说注解.标志@ .针对java不同版本来说,注解的出现是在jdk1.5 但是在jdk1.5版本使用注解必须继续类的方法的重写,不能用于实现的接口中的方法实现,在jdk1.6环境下 ...
- Spring注解之-自定义注解
1.自定义注解,先自定义三个水果属性的注解 元注解: java.lang.annotation提供了四种元注解,专门注解其他的注解(在自定义注解的时候,需要使用到元注解): @Documented ...
- 【JAVA】java注解的自定义和使用
java注解概念 Java提供了一种原程序中的元素关联任何信息和任何数据的途径和方法 java注解介绍 常用注解 @Override:表示方法是重写的方法 @Deprecated:过时的方法 @Sup ...
- Java注解-元数据、注解分类、内置注解和自定义注解|乐字节
大家好,我是乐字节的小乐,上次说过了Java多态的6大特性|乐字节,接下来我们来看看Java编程里的注解. Java注解有以下几个知识点: 元数据 注解的分类 内置注解 自定义注解 注解处理器 Ser ...
- Java中的注解及自定义注解你用的怎么样,能不能像我这样应用自如?
Java注解提供了关于代码的一些信息,但并不直接作用于它所注解的代码内容.在这个教程当中,我们将学习Java的注解,如何定制注解,注解的使用以及如何通过反射解析注解. Java1.5引入了注解,当前许 ...
- Java注解(自定义注解、view注入)
注解这东西虽然在jdk1.5就加进来了,但他的存在还是因为使用Afinal框架的view注入才知道的.一直觉得注入特神奇,加了一句就可以把对应view生成了. 下面我们来认识一下注解这个东西 一.注解 ...
- java 自定义注解以及获得注解的值
1.自定义注解 import java.lang.annotation.*; @Documented @Target(ElementType.FIELD) @Inherited @Retention( ...
- JPA中自定义的插入、更新、删除方法为什么要添加@Modifying注解和@Transactional注解?
前几天,有个同事在使用JPA的自定义SQL方法时,程序一直报异常,捣鼓了半天也没能解决,咨询我的时候,我看了一眼他的程序,差不多是这个样子的: @Repository public interface ...
随机推荐
- https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform
https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform
- Windows下QT Creator工程中添加文件夹
在QT项目,常常会有很多头文件和源文件,但是QT Creator中却没有添加文件夹的功能,造成项目代码混乱. 下面是建立文件的步骤: 1.打开工程目录,在目录下建立文件夹,如建立文件SerialP ...
- Thinkphp上传文件
//1.文件上传Onethink使用$uploads->upload()方法会出现bug,使用$uploads->uploadOne()方法 $config = array( 'maxSi ...
- IE关闭兼容性视图
不知道什么时候,ie8的“兼容性视图设置”变成了灰色,如图: 今天通过设置组策略,终以解决了这个问题: ie8的兼容性视图设置灰色的解决办法:运行gpedit.msc--用户配置/计算机配置--管理 ...
- eclipse + python dev
错误:Project interpreter not specified解决方法 http://blog.csdn.net/magictong/article/details/7288732 安装Py ...
- 用PowerMock mock static方法
在编写代码时,经常需要调用别人已经写好的工具类,而这些工具提供的方法经常是static方法,在这里,直接贴出<PowerMock实战手册>中的例子 待测试方法: public class ...
- Informatica相同环境与不同环境的导入导出( Repository Name,Integration Service Name,Folder Name是否相同):
Informatica相同环境与不同环境的导入导出( Repository Name,Integration Service Name,Folder Name是否相同): 1.repository N ...
- jquery如何根据text选择option
百度出来的代码都是这样的: $('#test option[text="b"]').attr("selected",true); 或 $('#test').fi ...
- python 面向对象编程学习
1. 问题:将所有代码放入一个py文件:无法维护 方案:如果将代码才分放到多个py文件,好处: 1. 同一个名字的变量互相不影响 2.易于维护 3.引用模块: import module 2.包:解决 ...
- CSS之立方体绘画步骤
附上总的代码: <!DOCTYPE html><html><head> <title>立方体</title> <meta charse ...