kos*_*tja 24 java dependency-injection named cdi jboss-weld
@Named没有附加@...Scoped注释的CDI bean 是否有任何默认范围?我没有在Weld官方文档中找到任何相关信息.
一个@Namedbean可以在JSF访问而无需额外的注解,所以一些隐含的范围似乎有可能.
谢谢
Mat*_*ndy 43
默认范围是从属伪范围@Dependent,如焊接文档中所述:
CDI具有所谓的依赖伪范围.这是未明确声明范围类型的bean的默认范围.[...]从不在不同客户端或不同注入点之间共享依赖bean的实例.它严格来说是某个其他对象的依赖对象.当它所属的对象被创建时被实例化,并且当它所属的对象被销毁时被销毁.
使用范围@Dependent声明的Bean与具有其他内置范围类型的bean的行为不同.当bean声明具有范围@Dependent时:
- 在多个注入点之间不共享注入的bean实例.
- 注入到容器正在创建的对象中的bean的任何实例都绑定到新
创建的对象的生命周期.- 当评估JSF或JSP页面中通过其EL名称引用bean的Unified EL表达式时,最多只实例化一个bean的一个实例.此实例仅用于处理EL表达式的单个评估.如果bean EL名称
在EL表达式中多次出现,则重用它,但在再次计算EL表达式时,或者在计算另一个EL表达式时,永远不会重用
它.- 接收生产者方法,生成器字段,处理程序方法或观察者方法调用的bean的任何实例
都只存在于为该调用提供服务.- 注入到disposer方法或observer方法的方法参数中的bean的任何实例
都只存在于为方法调用提供服务.
| 归档时间: |
|
| 查看次数: |
18909 次 |
| 最近记录: |