【发布时间】:2019-10-19 19:09:42
【问题描述】:
我正在使用 Wildfly 服务器,我想知道注入实际上是什么时候发生的。是在需要的时候还是有一些机制可以更早地解决依赖关系?
如果我使用注释@Inject,我知道如果无法注入某些内容(歧义等),我会收到错误消息。这是否意味着注入是在部署时完成的?如果是这样,这与这种情况有什么关系:假设我有BeanOne 注入BeanTwo,而BeanTwo 注入BeanThree。这是否意味着这条 bean 链将在部署时分配?如果我有比这更多的链会发生什么,并且假设我的 bean 池被限制为一些小数字,比如 2?当没有足够的 bean 并且其中一些必须等待它们的依赖项时,如何在部署时完成?
这种情况是否与 bean 的编程查找不同:CDI.current().select(MyStatelessBean.class).get();
甚至使用实例注入:@Inject Instance<MyStatelessBean> bean;?
【问题讨论】: