ネストしたプロパティのアクセス

BeanWrapperを使えばネストしたプロパティにアクセスするのに、プロパティ名をドット(.)でつないだものを指定できます。次の例ではbean1.getBean2().getName()の結果を得るのに、bean1のラッパーのgetPropertyメソッドで"bean2.name"をプロパティ名として指定しています。

package sample;

import org.springframework.beans.BeanWrapperImpl;
import org.springframework.beans.BeanWrapper;

/**
 * Created by IntelliJ IDEA.
 * User: minamoto
 */
public class NestedPropertiesTest {
   public static void main(String[] args) throws Exception {
      MyBean1 bean1 = new MyBean1();
      BeanWrapper bw = new BeanWrapperImpl(bean1);
      bw.setPropertyValue("bean2", new MyBean2());

      System.out.println("bean2 name=" + bw.getPropertyValue("bean2.name"));
   }
}