java - 使用没有任何值(value)的 CDI @Named CDI 有什么意义吗?

标签 java dependency-injection cdi

在没有值的情况下使用 CDI @Named 有什么意义吗?难道这不就相当于一起使用@Qualifier和@Default吗?

@Named
public class GifFileEditor implements ImageFileEditor {

最佳答案

如果我没记错的话,没有 value 元素值的 @Named 在应用于托管 bean 时会执行三件事:

  1. 它应用带有简单类名的有效@Named限定符。
  2. 它将相关 bean 的 beanName 设置为简单的类名称。
  3. 它(是唯一一个限定符)不会导致隐式 @Default 限定符被删除。

现在,如果您使用例如 BeanConfigurator#addBean 以编程方式应用它,那么您将负责决定自己实现哪些行为。 p>

关于java - 使用没有任何值(value)的 CDI @Named CDI 有什么意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59990920/

相关文章:

jakarta-ee - maven-embedded-glassfish-plugin 上的 CDI 注入(inject)失败 -- org.jboss.weld.exceptions.DeploymentException : WELD-001408 Unsatisfied dependencies for type

java - Log4j DailyRollingFileAppender 不滚动文件

java - 如何限制 @Primary Bean 的上下文?

c# - 统一配置约定

c# - 在 Scoped 服务中使用静态属性

java - 使用代码而不是 beans.xml 注入(inject) @alternative bean

java - Robocode 中的单例模式

java - 使用 Spring Boot 在单个 PDF 中渲染表格和图表

java - GCJ 创建重复的虚拟符号

java - 在混合租赁上下文中生成 EntityManager