是否有 JSR-330 相当于 Spring 的 @Bean 或 Guice 的 @Provides 注释?

goe*_*ash 1 java dependency-injection jsr330

我尝试@Named在创建 bean 的方法上使用注释,但这似乎不起作用。在这里找不到任何问题或证实这一点的博客。阅读 jcp.org 上的描述,我没有看到 JSR-330 引入的任何 b/w beans 和依赖注入的关系:https://jcp.org/en/jsr/detail ?id=330

And*_*eas 6

不,JSR-330 没有与 Spring@Bean或 Guice 的@Provides注释相当的功能。

JSR-330中只有5个注释,它们相当于以下Spring 1 / Guice 2注释:

JSR-330      Spring                Guice
----------   -------------------   ------------------
@Inject      @Autowired            @Inject
@Named       @Component            @Named
@Qualifier   @Qualifier            @BindingAnnotation
@Scope       @Scope                @ScopeAnnotation
@Singleton   @Scope("singleton")   @Singleton
-            @Scope("prototype")   -
Run Code Online (Sandbox Code Playgroud)

1) 来自使用 JSR 330 标准注释使用 JSR 330 标准注释
2) 来自JSR-330 集成

它们并不完全匹配,因此请阅读脚注中列出的文章以获取完整的详细信息。