java - 如何使用 guice 只注入一个变量?
问题描述
我有一堂这样的课:
public class Person {
private final Object1 object1; //taking this as constructor parameter
private final Object2 object2; //want to inject only this?
@Inject
public Person(final Object1 object1) {
this.object1 = object1;
}
}
假设我想要一个只接受 object1 参数的构造函数,我想注入 object2?我怎样才能做到这一点?
解决方案
您只能注入一个 ctor。
但是你可以使用工厂。看这个
根据@Assisted
您选择通过工厂的参数(Object1/Object2),它将委托给适当的构造函数。
推荐阅读
- android - ImageView 加载 ImageUri
- sql - 如何在更新语句中的 SQL Server 的 WHERE 子句中使用多个列
- swift - 为什么这个常量不打印到控制台?它只是空白
- xml - Powershell 搜索 ApplicationHost.config 文件并替换值
- python - 如何将 ColumnTransformer 用于分类数据?
- mysql - 如何在主选择和加入中访问子查询
- sql - 创建视图时需要列别名 - 为什么?
- python - uWSGI 启动文件工作进程
- java - MySQL 截断不正确的 DOUBLE 值:Java Spring 存储库中的“字符串”
- bootstrap-4 - 如何在引导程序 4.3.1 中将 2 个按钮与表单分组