java 内省学习笔记
生活随笔
收集整理的這篇文章主要介紹了
java 内省学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
學習代碼
/*** 內省學習* 概念:* 1.內省機制通過反射實現* 2.BeanInfo用來暴露一個bean的屬性,方法,事件*/@Testpublic void testIntroSpector() throws Exception {/*** 獲取bean的所有屬性*/BeanInfo info = Introspector.getBeanInfo(Admin.class);PropertyDescriptor[] descriptors = info.getPropertyDescriptors();for (PropertyDescriptor descriptor : descriptors) {System.out.println("成員變量名:" + descriptor.getName());}/*---------------------------------------------------------------------*//*** 操縱bean的屬性*/Admin admin = new Admin();PropertyDescriptor dep = new PropertyDescriptor("name", Admin.class);//操縱屬性:nameMethod writeMethod = dep.getWriteMethod();//獲取name寫的對象--setName(String name)writeMethod.invoke(admin, "清風");//執行寫操作Method readMethod = dep.getReadMethod();//獲取name讀的對象--getName()Object readName = readMethod.invoke(admin);//執行讀操作System.out.println("讀取到name的值:" + readName);/*** 獲取屬性的類型*/Class<?> type = dep.getPropertyType();//獲取成員變量的類型System.out.println(type);String name = dep.getName();//獲取操縱的成員變量名System.out.println(name);}/*** BeanUtils工具的使用** @throws Exception*/@Testpublic void testIntroSpector1() throws Exception {Admin admin = new Admin();//為指定的屬性賦值BeanUtils.setProperty(admin, "name", "清風");System.out.println(admin.getName());/***DateLocaleConverter 日期和字符串的轉換器*/ConvertUtils.register(new DateLocaleConverter(), Date.class);//注冊日期類型BeanUtils.setProperty(admin, "birthday", "1997-02-28");SimpleDateFormat simpleDateFormat = new SimpleDateFormat("YYYY-MM-dd");String s = simpleDateFormat.format(admin.getBirthday());//格式化日期System.out.println(s);/*** 通過map集合填充bean*/Map map=new HashMap<>();map.put("id","10086");map.put("name","清風");map.put("password","123456");map.put("birthday","1997-05-20");ConvertUtils.register(new DateLocaleConverter(),Date.class);BeanUtils.populate(admin,map);System.out.println(admin);}運行結果
三、使用BeanUtils如果是maven項目需要引入依賴:
<dependency><groupId>commons-beanutils</groupId><artifactId>commons-beanutils</artifactId><version>1.9.4</version> </dependency>總結
以上是生活随笔為你收集整理的java 内省学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaScript-字符串
- 下一篇: Excel VBA Sql 操作Acce