我已经成功创建了一个Guice绑定注释,将单线程java.util.concurrent.ExecutorService实例注入到构造函数中.
这是一个示例用法:
public class ContainsSingleThreadedExecutorService {
private final ExecutorService executorService;
@Inject
public ContainsSingleThreadedExecutorService(@SingleThreaded ExecutorService executorService) {
this.executorService = executorService;
}
}
Run Code Online (Sandbox Code Playgroud)
我现在想为多线程执行程序创建一个类似的注释,在注释中指定ThreadPool大小.例如:
public class ContainsMultiThreadedExecutorService {
private final ExecutorService executorService;
@Inject
public ContainsMultiThreadedExecutorService(@MultiThreaded(poolSize = 5) ExecutorService executorService) {
this.executorService = executorService;
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何从Guice提供程序访问"poolSize"参数的值?
现在我正在阅读Guice的官方文档,但我有一些与Binding Annotation章节相关的问题.
这解释了"带属性的注释".但是,我不确定这个解释.
绑定注释与属性
Guice支持绑定具有属性值的注释.在极少数情况下,您需要这样的注释:
创建注释@interface.创建一个实现注释接口的类.遵循Annotation Javadoc中指定的equals()和hashCode()指南.将此实例传递给annotatedWith()绑定子句.
我不明白这个解释.有什么解释意图?我学习了两个注释,例如@Paypal(在本文档中)和@name.但是,当我想在同一个类中使用两个以上的依赖项时,我们可能无法实现这两个注释?现在我很困惑,有人可以解释一下吗?