gpt4 book ai didi

java - 配置 Guice 模块提供的对象

转载 作者:行者123 更新时间:2023-11-29 10:13:48 25 4
gpt4 key购买 nike

我有一个模块,它提供了一个像这样的 JDBI DBI 实例:

@Provides
@Singleton
DBI dbi(DataSource dataSource) { return new DBI(dataSource); }

在另一个模块中,我想在该 DBI 实例上调用一些初始化方法(配置对特定数据类型的支持)。将 JDBI 模块本身放入 JDBI 模块本身是不合适的逻辑,因为它是特定于应用程序的,而不是对使用 JDBI 的任何应用程序通用的。是否有一个钩子(Hook)可以让我进行这种“额外”配置?

我尝试使用 bindListener 方法,但似乎没有为以这种方式提供的对象调用该方法。

最佳答案

Guice Injections documentation描述了如何通过使用@Inject 注释方法来调用实例方法。

它没有提到实例可以是一个 Guice 模块。因此,您可以这样做:

class MyConfigurationModule extends AbstractModule {
@Override
protected void configure() {
requestInjection(this);
}

@Inject
void configureDbi(DBI dbi) {
// Do whatever configuration.
}
}

关于java - 配置 Guice 模块提供的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24310018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com