[Seasar-user:576] Re: Seasar V2.0.2 リリース
B fiberbit.net Masataka Kurihara
kurihara
2004年 4月 3日 (土) 21:57:47 JST
栗原です。自宅のメールからです。
> ・プロパティの一部を明示的に指定して残りは
> 自動バインディングするのを可能にしました。
AutoPropertyAssemblerTest#testAssemble2()ではOKですが、
XMLを介してやるとNGみたいです。いつもの例ですが、
<?xml version="1.0" encoding="UTF-8"?>
<components>
<component class="tutorial.org.seasar.console.CD">
<arg>'kurihara'</arg>
<arg>'song of earth'</arg>
</component>
<component name="comp"
class="tutorial.org.seasar.console.AutoChangerCar">
<property name="test">'gggg'</property>
</component>
</components>
public class AutoChangerCar implements Car{
private String test;
public void setTest(String test) {
this.test = test;
}
private BGM bgm;
public void setBGM(BGM bgm) {
this.bgm = bgm;
}
public Object run() {
System.out.println("BGM is " + bgm.getDisplay());
return null;
}
}
public class CD implements BGM {
private String artist;
private String title;
public CD(String artist, String title) {
this.artist = artist;
this.title = title;
}
public String getDisplay() {
return artist + "'s [" + title + "]";
}
}
プロパティが設定されず、AutoChangerCar#run()のbgm.getDisplay()
でNullPointerExceptionが発生します。設定XMLの<property>エレメント
を削ると問題なく動きます。
<!-- sign start-->
<from name="Masataka Kurihara">
<addr>Aobadai 4-4-20-501, Meguro-ku, Tokyo</addr>
<tel>03-5453-0560</tel>
<mail>
<home>[E-MAIL ADDRESS DELETED]</home>
<office>[E-MAIL ADDRESS DELETED]</office>
</mail>
</from>
<!-- sign end -->
Seasar-user メーリングリストの案内