我们正在考虑使用JSR-330 javax.inject。*注释而不是com.google.inject。*等效项。看起来JSR-330标准不包含我在Guice中喜爱的几个功能。
具体来说,我看不到对@Assisted关键字的支持。还有,@ AssistedInject怎么样? @Inject是否可以放在多个构造函数上?
我对供应商中立感兴趣,但不以牺牲便利功能为代价。有什么建议吗?
答案 0 :(得分:4)
@Assisted
仅限Guice。您可以将它与JSR 330的@Inject
一起使用。如果您不想要Guice依赖项,请通过在代码中实现工厂接口来执行手动辅助注入。
答案 1 :(得分:0)
回答你的一个问题:
@Inject能否被置于多个构造函数上?
来自javadoc
可注入的构造函数使用@Inject注释并接受零或 更多依赖关系作为参数。 @Inject最多可以申请一个 每班的构造函数。
所以我认为答案是否定的。