必威体育Betway必威体育官网
当前位置:首页 > IT技术

PropertyDescriptor类 初接触

时间:2019-11-06 13:13:24来源:IT技术作者:seo实验室小编阅读:84次「手机版」
 

propertydescriptor

用到的场景:在写推送MQ消息的时候,想一个sendmessage 类去 推送不同的 队列名。

首先用一个constant类存放了不同的MQ的推送的队列名字 是用@value注入的,里面有多个队列名字,其实对应着这个Constant不同的属性。现在就是将这些队列名字对应的属性通过一个键值(可以在数据库中加个字段,也可以前端交互)存放到一个Map中去,在调用这个类的时候,循环map取出队列名对应的 属性名字的字符串(注意,这里是属性名字的字符串,并不是这个属性的值)。所以就要用到反射机制的PropertyDescriptor去根据这个属性名字的字符串去得到属性的值(这里就是要推送的队列名)

一、一个简单的PropertyDescriptor类的例子

package testPoi;

import java.beans.PropertyDescriptor;

import java.lang.reflect.Method;

public class TestPropertyDescriptor {

public static void main(String[] args) {

 Person person = new Person();

 person.setName("zhangsan");

 person.setAge(18);

 getFiled(person, "name");//结果输出 zhangsan

}

// 通过反射得到name 

// 可以看到这是通过 得到 属性的get方法(pd.getReadMethod()) 再调用invole方法取出对应的属性值

   //同样得到set方法(pd.getWriteMethod())

private static void getFiled(Object object, String field) {

 Class<? extends Object> clazz  = object.getClass();

 PropertyDescriptor pd = null;

 Method getMethod = null;

 try {

 pd = new PropertyDescriptor(field, clazz);

 if (null != pd) {

      // 获取  这个 field 属性 的get方法

      getMethod = pd.getReadMethod();

      Object invoke = getmethod.invoke(object);

      System.out.println(invoke);

 }

 } catch (Exception e) {

 e.printstacktrace();

 }

 

}

}

文章最后发布于: 2017-07-27 10:34:44

相关阅读

SystemInfo 类

(未完待续) 访问系统和硬件信息。使用这个类可以了解底层平台和硬件的功能。例如,您可以检查支持哪种RenderTexture格式(SupportsRen

关于 撤侨 之类的一点思考

最近日本台风,受了灾。在知乎上刷到了个问题: 如何评价关西机场成孤岛,中国游客称「别人还在排队,领馆已把我们接走」? 从利比亚内

音频平台争夺儿童品类,看蜻蜓FM与喜马拉雅的不同路径

儿童陪伴内容是在线音频内容平台发展的必然,并在品类之争中扮演至关重要角色,儿童内容线上运营及生态培育依然是需要源头活水,尤其是

Oracle 查询类似 select top 的用法

Oraclet 没有像sql server所支持的top语法,不过可通过rownum控制。rownum没有所谓的小于,只有大于。 –查询前10条数据 select * fr

变量的类型

  变量的类型 对于之前所学习的知识进行相关的整理,进行梳理,以求在以后的日子得以复习和总结。今天进行C/C++的变量类型梳理,如下:1

分享到:

栏目导航

推荐阅读

热门阅读