私はtapestry5ユーザーで、拡張クラス内でのサービスの使用について質問しています。次のクラス構造があるとしましょう。
BaseClass
public class BaseClassImpl extends ExtendedOneClass implements BaseClass {
@Inject
private ServiceOne serviceOne;
}
ExtendedOneClass
public class ExtendedOneClass extends ExtendedTwoClass {
@Inject
private ServiceTwo serviceTwo;
}
ExtendedTwoClass
public class ExtendedTwoClas {
@Inject
private ServiceThree serviceThree;
}
拡張クラス内でサービスを使用できるようにするには、何をする必要がありますか?
AppModuleを次のように設定します
public static void bind(ServiceBinder binder) {
binder.bind(BaseClass.class, BaseClassImpl.class);
binder.bind(ExtendedOneClass.class);
binder.bind(ExtendedTwoClass.class);
}
しかし、拡張クラス内でサービスを機能させることができないようです。これは、拡張クラスがタペストリーの@Injectでインスタンス化されていないためだと思います。では、問題はこのタスクをどのように達成するかということです。