上下文和范围之间的区别
研究JSR-299时,我阅读了Weld reference的5.1节,其中解释了作用域在CDI中的工作方式。显然,语境是一个与范围密切相关的概念。在我的脑海中,这两个词的区别并不清楚,我甚至忍不住想把这两个词互换一下。
作用域和上下文之间有什么区别?这两个概念之间有什么关系?
解决方案
每个作用域都有单独的上下文。
上下文是已使用各自的作用域定义的Bean的容器。
这就是为什么上下文实现使用作用域的名称-ApplicationContext
、DependentContext
、RequestContext
等。
这实际上是一个实现细节--作为CDI的用户,您应该只了解作用域(因为您是为您的Bean定义的),并且实现决定将这些Bean放置在哪里以及如何管理它们的生命周期。
相关文章