Java 使用CDI@Named CDI而不使用任何值有什么意义吗?

Java 使用CDI@Named CDI而不使用任何值有什么意义吗?,java,dependency-injection,cdi,Java,Dependency Injection,Cdi,使用没有值的CDI@Named有什么意义吗?这难道不是简单地等同于同时使用@Qualifier和@Default吗 @Named public class GifFileEditor implements ImageFileEditor { 如果我没记错的话,@Named没有值元素值,当应用到托管bean时,它会做三件事: 它使用简单类名的有效值应用@命名的限定符 它将相关bean的beanName设置为简单类名 它(是一个限定符)不会导致隐式@Default限定符被删除 现在,如果您使用Be

使用没有值的CDI@Named有什么意义吗?这难道不是简单地等同于同时使用@Qualifier和@Default吗

@Named
public class GifFileEditor implements ImageFileEditor {

如果我没记错的话,
@Named
没有
元素值,当应用到托管bean时,它会做三件事:

  • 它使用简单类名的有效值
    应用
    @命名的
    限定符
  • 它将相关bean的
    beanName
    设置为简单类名
  • 它(是一个限定符)不会导致隐式
    @Default
    限定符被删除

  • 现在,如果您使用
    BeanConfigulator#addBean
    以编程方式应用它,那么您将负责决定自己实现这些行为中的哪些行为。

    javaee-5中不存在带有小写首字母(甚至更复杂的逻辑)Cdi的类名