Java 在基于路径的对象中是否有设置值的内容?

Java 在基于路径的对象中是否有设置值的内容?,java,reflection,set,setvalue,Java,Reflection,Set,Setvalue,我需要的是: Person p = new Person(); Command.set(p, "person.name", "William"); //After that method call in line above, p.getName() should return "William" 我需要尽可能通用的set方法,也就是说,不仅是person参数,而且是我想要的任何ValueObject。 我开始使用反射来研究这个算法,但我不确定这是否合适,而且它做了很多工作。我想知道是否已经做

我需要的是:

Person p = new Person();
Command.set(p, "person.name", "William");
//After that method call in line above, p.getName() should return "William"
我需要尽可能通用的set方法,也就是说,不仅是person参数,而且是我想要的任何ValueObject。 我开始使用反射来研究这个算法,但我不确定这是否合适,而且它做了很多工作。我想知道是否已经做了什么,比如Java框架


提前谢谢

它看起来确实有点像。但是,推土机用于将A类映射到B类。例如,此推土机映射:

<mapping>
  <class-a>org.dozer.vo.deep.SrcDeepObj</class-a>
  <class-b>org.dozer.vo.deep.DestDeepObj</class-b>

  <field>
    <a>srcNestedObj.src1</a>
    <b>dest1.firstObj.secondObj.destVar</b>
  </field>
</mapping>

看看ApacheCommonsBeanutils()中的PropertyUtilsBean

应该简单到:

Person p = new Person();
PropertyUtils.setProperty(p, "name", "William");
库还支持设置嵌套属性,例如

PropertyUtils.setProperty(p, "address.street", "Route 69");
// equivalent of p.getAddress().setStreet("Route 69")

这是一个购物清单问题,对于这个平台来说不是一个好问题。你应该使用你最喜欢的搜索引擎。是应该出现的东西。另请参见帮助页面。谢谢,就这样!尽管嵌套属性直到此时才起作用。
PropertyUtils.setProperty(p, "address.street", "Route 69");
// equivalent of p.getAddress().setStreet("Route 69")