研究プロジェクトでPicocontainerを使用しています。使い方に疑問があります。
以下は私が持っているクラスです:
public class DependencySupplier {
public static MutablePicoContainer pico;
static {
pico = new DefaultPicoContainer();
pico.registerComponentImplementation(CollectionDao.class, CollectionDaoImpl.class);
pico.registerComponentImplementation(ReadingDao.class, ReadingDaoImpl.class);
pico.registerComponentImplementation(CollectionDetails.class, CollectionDetailsImpl.class);
pico.registerComponentImplementation(Reading.class, ReadingImpl.class);
}
public static CollectionDao getCollectionDao() {
return (CollectionDao) pico.getComponentInstance(CollectionDao.class);
}
public static ReadingDao getReadingDao() {
return (ReadingDao) pico.getComponentInstance(ReadingDao.class);
}
}
私の疑問は次のとおりです。
- これは pico を使用する正しい方法ですか?
AddressImpl クラスは次のとおりです。
public class AddressImpl implements Address { private String address1; private String address2; private String address3; private String address4; public AddressImpl(String address1, String address2, String address3, String address4) { super(); this.address1 = address1; this.address2 = address2; } public String getAddress1() { return address1; } public void setAddress1(String address1) { this.address1 = address1; } public String getAddress2() { return address2; } public void setAddress2(String address2) { this.address2 = address2; } public String getAddress3() { return address3; } }
「address1」と「address2」はユーザーが提供する必要があり、実行時に使用できるため、上記の実装で Address オブジェクトをインスタンス化するにはどうすればよいですか?