軽量 DI 用に Google Guice3.0 を試しています。プロパティを読み取って Class 型に変換し、クラスに注入したいと考えています。これが私のコードです。
setting.properties
port = 31200
handler=com.mypackage.handler.MyHandler
Module
public class MyModule extends AbstractModule {
@Override
protected void configure() {
Properties properties = new Properties();
try {
properties.load(getClass().getResourceAsStream("setting.properties"));
Names.bindProperties(binder(), properties);
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Singleton
public class MyServer {
@Inject @Name("port") int port;
@Inject @Name("handler") Class<? extends BaseHandler> handlerClass;
}
public interface BaseHanlder {
//
}
public MyHandler implements BaseHandler {
//
}
ハンドラー プロパティをプロパティからクラスに変換し、MyServer に注入したいと考えています。どうすれば達成できますか?
前もって感謝します。