我有以下实现,我正在尝试在Guice中注入
`public class Client{
private final Database db;
public Client(Database db){
this.db = db
}
}
class SomeClass{
private Client client;
@Inject
public SomeClass(Client client){
this.client = client;
}
}`
这是我的注入代码Injector guice=Guice. Injector();guice.get实例(SomeClass.class);
但我不断地得到错误:
在hello.package.helloworld.客户端中找不到合适的构造函数。类必须有一个(并且只有一个)用@Inject注释的构造函数或一个非私有的零参数构造函数
如何注入一个已经有参数的类?
错误文本非常明确:您没有在客户端
的构造函数上使用@Inject
。
所以这个想法是这样的:
public class Client{
private final Database db;
@Inject
public Client(Database db){
this.db = db
}
}
如果您不知道您的数据库,但想创建它,请考虑使用 Guice 的辅助注射,它为您创建工厂。
问题内容: 假设我有一些类似以下的课程。(为简单起见,这是一个虚构类。) 由于我使用不同的实现,并且可能想对该发送功能进行单元测试,因此我认为我应该注入in 的方法。但是我该怎么做呢? 我见过的所有我理解的Guice示例似乎都是在构造函数中进行注入的: 但是我的类在其构造函数中接受了一个参数,我不想注入该参数。那我该怎么办呢? (注意:我是一个完整的Google Guice noob。我认为我了解
我是Guice的新手,正在尝试在下面的类族中实现依赖注入,如下所示: 然而,有一些问题,由于我的请求没有成功。 您能否帮助我发现问题,并让我知道您是如何调试Guice中的依赖注入问题的?
有人能帮助实现没有注释的Guice吗? pom。xml 我所尝试的: 我得到的错误是: 我理解这个错误。 但是我希望我可以“指向”Guice到正确的构造函数......而不是使用注释。 如您所见,使用默认/空构造函数不是一个好选择,因为这个示例很简单,但我想坚持使用基于构造函数的注入。 附加: 根据我在评论中从赫曼特·辛格那里得到的“暗示”,我想我离得更近了。 我创建了一个ProductionIn
我目前在我的大学学习初级java课程,仍然在学习编程的基础知识。这周我们一直在学习构造函数,我被困在本周任务的后半部分,所以任何帮助都将不胜感激。 实验室的第二部分(我一直坚持的部分)的说明如下: 为类Truck编写完整的代码,如下面的类图所示。一定不要在构造函数中使用重复的代码。例如,具有2个参数的构造函数应该调用具有1个参数的构造函数来设置柱体的值。 这些是它想让我做的构造函数。 任何关于如何
我有一个类< code >配置: 配置java 我如何将它注入到某个构造函数中,例如: 我希望这个字符串 从配置中注入了值。这可能吗?
问题内容: 是否可以从另一个(在同一类中,而不是在子类中)调用构造函数?如果是,怎么办?调用另一个构造函数的最佳方法是什么(如果有几种方法可以做到)? 问题答案: 对的,这是可能的: 要链接到特定的超类构造函数而不是同一类中的构造函数,请使用代替。注意,你只能链接到一个构造函数,它必须是构造函数主体中的第一条语句。