public class User {
private String name;
private String password; public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public String getPassword() {
return password;
} public void setPassword(String password) {
this.password = password;
}
}
public class Login {
private User user; public User getUser() {
return user;
} public void setUser(User user) {
this.user = user;
}
}
public class Demo { /**
 * @param args
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
Login login = new Login();
User user = new User();
user.setName("111");
user.setPassword("222"); login.setUser(user);
Object obj = (Object) login;
Map map = new HashMap();
// map.put(xxx,yyy);xxx,yyy必须用obj取出,只能用JAVA反射。
// 这里我想把login对象中user当做key,getUser()的返回值当做value 现在用JAVA反射我有点头绪
}}
 我想问的是像Spring ,struts那些框架实现我以上功能是怎么实现的,有没有现成的解析框架

解决方案 »

  1.   

    利用反射调用map对象的put方法,传入参数即可
    http://wishlife.javaeye.com/blog/209885
      

  2.   

    比如吧就拿getUser()来说,第一步obj.getClass().getMethods(),然后取得getUser字符串,再取得User,还要把开头大字改写.有没有现在的类库呢
      

  3.   

    spring也是这么实现的吗,懒得去看源码了,呵呵
      

  4.   

    http://blog.csdn.net/calvinxiu/archive/2005/02/02/277748.aspx
      

  5.   

    Common BeanUtils 我找的就是这东东,以前记得有个common什么包滴,在Struts,Spring的Lib目录里半天没找到,现在又发现了,非常感谢sing4j和TzSword
      

  6.   

    spring 根据你的bean.xml中的类全名找到那个类,然后遍历属性找到同名的,然后遍历方法,set开头的,和你的属性匹配则invok该方法。
      

  7.   

    感觉 最效率的办法是 实现 一个Map<String,Object> 
    调用  get("user") 的时候反射到 getUser();