如何配置Guice以要求对整个应用程序(对于所有模块)进行显式绑定

佩蒂

为了在Guice中使用“显式”绑定,我可以binder().requireExplicitBindings()在模块实现中调用,例如

public class MyExampleModule extends AbstractModule {

    @Override
    protected void configure() {
        super.configure();
        binder().requireExplicitBindings();
        ...
    }
}

关于Guice API,它看起来像我在我的应用程序的所有模块实现需要这样做

是否没有一种方法可以针对整个应用程序在一个地方进行配置

我正在使用Guice 4.2.x

丹尼尔·普赖登

活页夹配置选项requireExplicitBindings()对于使用的所有位置都是全局的Binder因此,除非您对Guice SPI做一些不寻常的事情,否则它适用于构成同一部分的所有绑定Injector

最佳实践是Injector每个应用程序只有一个,因此Binder选项已经是有效的全局选项。

对于它的价值,我认为requireExplicitBindings()是过大了。诸如此类的东西requireAtInjectOnConstructors()通过隐式绑定解决了最严重的问题,同时仍然允许基于带注释的构造函数的JSR-330依赖项注入,这可能是非常方便的功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在我的 spring 批处理应用程序中显式配置 TaskBatchExecutionListener

如何在src中布局我的Rust模块以在整个应用程序中进行访问

获取整个应用程序中的所有配置文件

如何要求在整个应用程序中启用蓝牙

如何将显式API模式应用于除app模块以外的所有模块?

如何专门处理显式类型的应用程序?

如何在应用程序或功能模块加载时显式执行一些代码?

Guice和常规应用程序配置

从整个应用程序Android捕获所有类型的错误

如何在整个应用程序中访问配置对象?

如何将对象/状态发送到整个应用程序/所有片段?

如何注入模块并使它可用于应用程序的所有模块和子模块(获取未知的提供程序错误)

已分配为 Azure AD 应用程序的所有者,但仍无法对其进行配置

如何对整个WPF应用程序进行灰度处理

如何查找绑定到应用程序的所有数据源

将所有击键绑定到应用程序

如何在整个应用程序中访问Guice注射器

Ecto | 如何在应用程序中获取所有架构模块

如何对 Angular 应用程序子模块的所有组件执行 ng 测试

如何与所有angular 6应用程序组件全局共享从后端获取的配置值?

如何设置全局节点模块,以便所有应用程序都可以使用相同的模块

Redux存储对于每个模块应该是一个,或者对于整个应用程序来说应该是一个,包括多个模块

如何清除根目录中的所有应用程序数据以进行注销?

如何使MSBuild对Clickonce应用程序中的所有文件进行签名

如何在grails中找到授权给特定用户角色的整个应用程序中的所有gsp页面?

由管理员用户运行的桌面应用程序(但不是使用sudo显式运行)需要共享文件的文件所有权

Whitelabel错误页面-应用程序没有针对/ error的显式映射

如何在整个ASP .NET MVC应用程序中要求授权

如何通过POST与Flask应用程序发送和接收显式null值