gpt4 book ai didi

java - @Inject + @Qualifier vs @Inject 实现

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:12:46 29 4
gpt4 key购买 nike

使用限定符与仅指定所需的确切实现类之间有什么区别?

本题抄自:http://docs.jboss.org/weld/reference/latest/en-US/html/injection.html

最佳答案

一般来说,限定符在各方之间形成一层解耦。这允许您更改一侧的实现而不更改另一侧。

However, I find it very rare to actually have more than one implementation class. 

这取决于用例。虽然您可能适合业务逻辑的大多数“内部”类(将有一个 MailService 而不是两个或三个),但通常有一些具有不止一种实现的 bean 类型.

@Inject @LDAP
private AuthenticatorService

对比

@Inject @FormBased
private AuthenticatorService

为不同的部署场景模拟/提供不同的 beans 已经提到。

此外,您几乎肯定会有某种类似这样的逻辑,其中限定词讲述“故事的一部分”并使代码具有可读性和结构化:

@Inject @Authenticated
private User user;

关于java - @Inject + @Qualifier vs @Inject 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621190/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com