通过反射获得 spring 的 RequestMapping value值

Posted 小赵的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过反射获得 spring 的 RequestMapping value值相关的知识,希望对你有一定的参考价值。

package demo

import java.lang.reflect.Method;

import org.springframework.web.bind.annotation.RequestMapping;

import com.demo.controller.TicketController;

/**
 * 文档描述:通过反射得到requestMapping的value值
 * 作者:赵鹏
 * 时间:2016-10-8 上午09:04:53
 */
public class Test {

    /**
     * 方法描述:main方法测试
     * 作者:赵鹏
     * 时间:2016-10-8 上午09:04:53
     */
    public static void main(String[] args) {
        
        //得到字节码文件  【只需要更改controller类名】
        Class<?> clazz = TicketController.class;
        
        //得到方法
        Method[] methods = clazz.getDeclaredMethods();
        
        for (Method method : methods) {
            
            //判断是否存在requestMapping注释
            boolean present = method.isAnnotationPresent(RequestMapping.class);
            
            if(present){
                
                //得到requestMapping注释
                RequestMapping annotation = method.getAnnotation(RequestMapping.class);
                
                //输出 annotation RequestMapping包含的信息(headers=[], name=, path=[], value=[toTicket], produces=[], method=[], params=[], consumes=[])
                //System.err.println(annotation);
                
                //得到value数组
                String[] value = annotation.value();
                
                for (String string2 : value) {
                    
                    //输出value值
                    System.out.println(string2);
                    
                }
                
            }
            
        }

    }

}
























































以上是关于通过反射获得 spring 的 RequestMapping value值的主要内容,如果未能解决你的问题,请参考以下文章

spring的annotation

Spring IOC的简单实现

Java中的反射

自己实现简单Spring Ioc

java反射机制的理解

java-反射