据我所知,“pre-CDI” EJB 和资源注入解决方案(例如
相反,CDI 则依赖于
我有一种感觉,好像对整个机制理解有些偏差...
@EJB
、@Resource
等)使用 JNDI 服务来定位容器中已注册的对象,并在需要的地方进行注入。相反,CDI 则依赖于
bean-discovery-mode
参数(ALL
或 ANNOTATED
)来发现需要被管理的 bean。但是这个过程实际上是如何执行的呢?是对什么进行了运行时扫描?JNDI 是否完全没有参与?我有一种感觉,好像对整个机制理解有些偏差...
BeanManager
。 然后它只会扫描注释类的类路径。 这在https://dev59.com/WHVC5IYBdhLWcg3wixw0中得到了详细解释。 - BalusC