我有一个Module提供这样的JDBI DBI实例:
Module
DBI
@Provides @Singleton DBI dbi(DataSource dataSource) { return new DBI(dataSource); }
在另一个模块中,我想在该DBI实例上调用一些初始化方法(配置对特定数据类型的支持)。放入JDBI模块本身是不合适的逻辑,因为它是特定于应用程序的,而不是使用JDBI的任何应用程序所通用的。我是否可以进行这种“额外”配置?
我尝试使用该bindListener方法,但似乎没有为以这种方式提供的对象调用该方法。
bindListener
该吉斯注射文档描述了如何通过注释与@注入的方法来调用一个实例方法。
它没有提到实例可以是Guice模块。这样,您可以执行以下操作:
class MyConfigurationModule extends AbstractModule { @Override protected void configure() { requestInjection(this); } @Inject void configureDbi(DBI dbi) { // Do whatever configuration. } }