这是一个通用的非依赖bean类:
@ApplicationScopedpublic class FavouriteChooser<T> { public T getFavourite() { // ... }}
应用程序中将有多少个该bean实例?
这是注射部位:
@Injectprivate FavouriteChooser<String> favouriteWord;
这是另一个:
@Injectprivate FavouriteChooser<Integer> favouriteNumber;
您想更改答案吗?:D
哦,这是另一个:
@Injectprivate FavouriteChooser<CharSequence> favouriteLetters;
编辑。如果需要解决方案,我建议将您的通用类抽象化,并添加绑定该类型的具体子类。所以:
public abstract class MyProducer<T> {...}@Named@SessionScopedpublic class MyStringProducer extends MyProducer<String> {}@Named@SessionScopedpublic class MyIntegerProducer extends MyProducer<Integer> {}
这是样板,但每种类型只有三行。请记住,这可能会给您每种类型每个会话一个实例,您可能不希望这样做。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)