See More

----------------------------- »ñÈ¡BeanÖеÄËùÓÐÊôÐÔÃèÊö¶ÔÏó | ----------------------------- BeanInfo info = Introspector.getBeanInfo(xxx.class); PropertyDescriptor pds[] = info.getPropertyDescriptors(); ----------------------------- »ñÈ¡BeanÖÐÖ¸¶¨ÊôÐÔµÄÃèÊö¶ÔÏó | ----------------------------- PropertyDescriptor pd = new PropertyDescriptor("userName", User.class); ----------------------------- ÊôÐÔÃèÊö¶ÔÏó | ----------------------------- # PropertyDescriptor//ÊôÐÔÃèÊö¶ÔÏó getName(); * »ñÈ¡ÊôÐÔÃû³Æ(userName) getPropertyType(); * »ñÈ¡ÊôÐÔµÄÀàÐÍ(java.lang.String) getWriteMethod(); * ·µ»ØMethodÀà,ÊÇдÈëÊôÐÔµÄMehtod,·½·¨£¡ getReadMethod(); * ·µ»ØMethodÀà,ÊǶÁÈ¡ÊôÐÔµÄMethod,·½·¨ Method invoke(¶ÔÏó,²ÎÊý);//Äĸö¶ÔÏóÀ´Ö´Ðб¾·½·¨,²ÎÊý¿ÉÓпÉÎÞÈç¹ûÊǾ²Ì¬µÄ²»ÓÃд¶ÔÏó£¬Èç¹ûû·µ»ØÖµ·µ»ØµÄ¾ÍÊÇnullÈç¹ûÓÐ,·µ»ØÖµÊÇObject. ----------javaBeanËùÓÐÊôÐÔ¶ÔÏó»ñÈ¡ public static void test() throws Exception { User user = new User();//´´½¨¶ÔÏó //1.ͨ¹ýIntrospectorÀ´»ñÈ¡bean¶ÔÏóµÄbeaninfo BeanInfo bif = Introspector.getBeanInfo(User.class); //2.ͨ¹ýbeaninfoÀ´»ñµÃÊôÐÔÃèÊöÆ÷(propertyDescriptor) PropertyDescriptor pds[] = bif.getPropertyDescriptors(); //3.ͨ¹ýÊôÐÔÃèÊöÆ÷À´»ñµÃ¶ÔÓ¦µÄget/set·½·¨ for(PropertyDescriptor pd : pds) { //4.»ñµÃ²¢Êä³ö×ֶεÄÃû×Ö System.out.println("×ֶεÄÃû×ÖÊÇ:"+pd.getName()); //5.»ñµÃ²¢Êä³ö×ֶεÄÀàÐÍ System.out.println("×ֶεÄÀàÐÍÊÇ:"+pd.getPropertyType()); if(pd.getName().equals("userName")) { //6.»ñµÃPropertyDescriptor¶ÔÏóµÄд·½·¨ Method md = pd.getWriteMethod(); //7.Ö´ÐÐд·½·¨ md.invoke(user, "KeivnBlandy"); } } //8.Êä³öËù¸³Öµ×ֶεÄÖµ System.out.println(user.getUserName()); } -----------------javaBeanµ¥¸öÊôÐÔ¶ÔÏó»ñÈ¡ public static void test()throws Exception { User user = new User();//´´½¨¶ÔÏó //1.ͨ¹ý¹¹ÔìÆ÷À´´´½¨PropertyDescriptor¶ÔÏó PropertyDescriptor pd = new PropertyDescriptor("userName", User.class); //2.ͨ¹ý¸Ã¶ÔÏóÀ´»ñµÃд·½·¨ Method method = pd.getWriteMethod(); //3.Ö´ÐÐд·½·¨ method.invoke(user, "KevinBlandy"); //4.Êä³ö¶ÔÏó×ֶεÄÖµ System.out.println(user.getUserName()); //5.ͨ¹ý¶ÔÏó»ñµÃ¶Á·½·¨ method = pd.getReadMethod(); //6.Ö´ÐжÁ·½·¨²¢¶¨Òå±äÁ¿½ÓÊÜÆä·µ»ØÖµ²¢Ç¿ÖÆËÜÐÎ String name = (String) method.invoke(user, null); //7.Êä³öËÜÐκóµÄÖµ System.out.println(name); }