java – 如何在CDI中快速创建实例
发布时间:2020-12-14 05:32:11 所属栏目:Java 来源:网络整理
导读:我们假设我有一个汽车课.在我的代码中,我要创建10辆车. Car类有一些@Inject注释的依赖项.这样做最好的办法是什么? CDI有一个提供者界面,可以用来创建汽车: @Inject ProviderCar carProvider;public void businessMethod(){ Car car = carProvider.get();}
我们假设我有一个汽车课.在我的代码中,我要创建10辆车. Car类有一些@Inject注释的依赖项.这样做最好的办法是什么?
CDI有一个提供者界面,可以用来创建汽车: @Inject Provider<Car> carProvider; public void businessMethod(){ Car car = carProvider.get(); } 不幸的是,如果我没有CarFactory有一个方法与@Produces注释创建汽车不工作.尽管反映出无法在没有工厂制造汽车的现实世界,我宁可不为任何一个人写工厂.我只想要CDI容器像任何其他bean一样创建我的车.你怎么推荐我创造这些汽车? 解决方法
只需使用javax.enterprise.inject.Instance接口.
喜欢这个: public class Bean { private Instance<Car> carInstances; @Inject Bean(@Any Instance<Car> carInstances){ this.carInstances = carInstances; } public void use(){ Car newCar = carInstances.get(); // Do stuff with car ... } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |