我是否需要内部 class 的 @Named 注释

Do I need the @Named annotation for an inner class

我是注释的新手,想知道我的 Bar class 是否需要 @Named 注释。我用谷歌搜索了一些,但仍然不知道这个内部 class 是否需要注释。

public abstract class Foo{
         //code
     @Named
     @Configuration
     class Bar{
         //code
    }
}

在原版 javax.inject.Namedas per docs 中,注释旨在定义 String based qualifier。如果您不打算提供限定符,则不需要放置注释。 :-)

Spring though中,文档指出您可以提供一个没有值的@Named注解,与使用@Component的实际效果相同。我不建议这样做,因为代码看起来具有误导性。