CDI的受限仿制药

CDI的受限仿制药,第1张

CDI的受限仿制药

这是一个通用的非依赖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> {}

这是样板,但每种类型只有三行。请记住,这可能会给您每种类型每个会话一个实例,您可能不希望这样做。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5429458.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存