加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 是否(或应该)CDI提供包限定符?

发布时间:2020-12-15 02:27:56 所属栏目:Java 来源:网络整理
导读:在研究Seam 3时,我发现Seam Solder允许将@Named注释应用于包 – 在这种情况下,此包中的所有bean都将自动命名,就像它们自己被@Named所限定一样.我没有看到做这样的事情有太多的优势(你可以指出一些它可能有用的情况!)但它让我想知道:CDI(或Seam Solder)允许
在研究Seam 3时,我发现Seam Solder允许将@Named注释应用于包 – 在这种情况下,此包中的所有bean都将自动命名,就像它们自己被@Named所限定一样.我没有看到做这样的事情有太多的优势(你可以指出一些它可能有用的情况!)但它让我想知道:CDI(或Seam Solder)允许随意是不合理的要应用于包的限定符,保持此@Named限定符的相同语义?它是CDI规范未来版本中的可能功能吗?是否有理由不允许它?

解决方法

I didn’t see too much advantages on doing something like this (and you
can point me some situations where it can be useful!)

@Named(你当然知道)使得一个托管bean可以从JSF页面中访问.在包级别上应用它只会为该包中的所有bean分配一个EL名称.虽然我同意你的观点,这肯定不是一个杀手级的功能,但我可以想象,通常情况下,某个包中的所有内容都需要通过EL访问.当然,如果单独注释所有bean在可读性方面不会更好,那么这是另一个问题.

wouldn’t it be reasonable to CDI (or Seam Solder) to allow arbitrary
qualifiers to be applied to packages as well,maintaining the same
semantics of this @Named qualifier?

@SomeQualifier会将相同的限定符应用于包中的所有bean.与@Named相反,我很难想象这会有多大意义 – 回顾过去几年的几个CDI项目,我想我从来没有一个包里面的所有bean都需要相同的限定符.如果你记得限定符是用于松散耦合组件的话,那就更有意义了……(假设你有三个实现的接口 – 几乎可以肯定那些属于不同的包甚至是jar)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读