我有一些资源,但我不能迭代它并将它们全部绑定,我必须使用密钥来请求资源.所以,我必须动态注入.
我定义了一个注释
@Target({ METHOD, CONSTRUCTOR, FIELD })
@Retention(RUNTIME)
@Documented
@BindingAnnotation
public @interface Res
{
String value();// the key of the resource
}
Run Code Online (Sandbox Code Playgroud)
像这样用
public class Test
{
@Inject
@Res("author.name")
String name;
@Inject
@Res("author.age")
int age;
@Inject
@Res("author.blog")
Uri blog;
}
Run Code Online (Sandbox Code Playgroud)
我必须处理注释注入@Res
,我需要知道注入字段和注释.
这有可能Guice
吗?如何?即使是spi?
现在我正在阅读Guice的官方文档,但我有一些与Binding Annotation章节相关的问题.
这解释了"带属性的注释".但是,我不确定这个解释.
绑定注释与属性
Guice支持绑定具有属性值的注释.在极少数情况下,您需要这样的注释:
创建注释@interface.创建一个实现注释接口的类.遵循Annotation Javadoc中指定的equals()和hashCode()指南.将此实例传递给annotatedWith()绑定子句.
我不明白这个解释.有什么解释意图?我学习了两个注释,例如@Paypal(在本文档中)和@name.但是,当我想在同一个类中使用两个以上的依赖项时,我们可能无法实现这两个注释?现在我很困惑,有人可以解释一下吗?