草庐IT

java - 泛型 hell : Can I construct a TypeLiteral<Set<T>> using generics?

我能够让下面的通用方法工作的唯一方法是传递看似多余的TypeLiteral>范围。我相信应该可以在给定其他参数的情况下以编程方式构造此参数,但无法弄清楚如何。protectedKey>bindMultibinder(TypeLiteral>superClassSet,TypeLiteralsuperClass){finalKey>multibinderKey=Key.get(superClassSet,randomAnnotation);returnmultibinderKey;}客户端代码如下:bindMultibinder(newTypeLiteral>>(){},newTypeL

java - Guice:如何获得 TypeLiteral 包装的泛型的实例?

我有一个通用的数据库访问类,我正在使用TypeLiteral结构对其进行绑定(bind)。现在在测试中我想模拟那个类,因此我创建了一个Provider,它创建了一个模拟实例。在我的测试中,我想访问那个模拟来定义它的行为。现在的问题是,如何从注入(inject)器中检索对象?这是我的绑定(bind)定义:binder.bind(newTypeLiteral>(){}).GenericDbClassProvider.class);通常我会得到这样的实例:injector.getInstance(GenericDbClass.class);但是由于我没有将GenericDbClass的实现绑

java - Android 上的 Guice 性能

作为一名Java开发人员,我已经习惯于在应用程序中使用依赖注入(inject)。不过,对于Android,我特别担心性能。在Android应用程序中使用Guice对性能有何影响?我假设有一些开销,但它是否足够重要以至于我应该避免使用Guice?我对它的使用可能只是将一些共享对象注入(inject)到各种Activity中。 最佳答案 我会避免在android中使用DI,正如google所建议的那样:http://developer.android.com/training/articles/memory.html#Dependenc

java - Android 上的 Guice 性能

作为一名Java开发人员,我已经习惯于在应用程序中使用依赖注入(inject)。不过,对于Android,我特别担心性能。在Android应用程序中使用Guice对性能有何影响?我假设有一些开销,但它是否足够重要以至于我应该避免使用Guice?我对它的使用可能只是将一些共享对象注入(inject)到各种Activity中。 最佳答案 我会避免在android中使用DI,正如google所建议的那样:http://developer.android.com/training/articles/memory.html#Dependenc

java - 如何使用安装公共(public)依赖模块的两个 Guice 模块

我正在做一个由四个部分组成的项目:将所有内容组合在一起的Main项目。这包含publicstaticvoidmain(String...args)入口点。组件A组件BA和B都引用的第3方Common组件。我正在使用Guice作为所有四个部分之间的管道,这是我的问题:在A和B的主要Guice模块中,我安装了一个扩展了Common中定义的模块。在运行时,此设置失败并出现以下错误:Abindingtocommon.SomeClasswasalreadyconfiguredatcommon.AbstractCommonModule.configure().[source]原因是我调用了comm

java - 如何使用安装公共(public)依赖模块的两个 Guice 模块

我正在做一个由四个部分组成的项目:将所有内容组合在一起的Main项目。这包含publicstaticvoidmain(String...args)入口点。组件A组件BA和B都引用的第3方Common组件。我正在使用Guice作为所有四个部分之间的管道,这是我的问题:在A和B的主要Guice模块中,我安装了一个扩展了Common中定义的模块。在运行时,此设置失败并出现以下错误:Abindingtocommon.SomeClasswasalreadyconfiguredatcommon.AbstractCommonModule.configure().[source]原因是我调用了comm

java - Lombok - 在构造函数输入参数中保留字段的注释

Lombok在自动生成构造函数时错过了字段的注释。有没有办法在构造函数输入参数中保留字段的注释?生成构造函数的类,@RequiredArgsConstructor(onConstructor=@__(@Inject))publicclassTest{@Named("MyField")privatefinalStringfield;@Named("MyHandler")privatefinalSomeHandlerhandler;}生成的类:publicclassTest{@Named("MyField")privatefinalStringfield;@Named("MyField")

java - Lombok - 在构造函数输入参数中保留字段的注释

Lombok在自动生成构造函数时错过了字段的注释。有没有办法在构造函数输入参数中保留字段的注释?生成构造函数的类,@RequiredArgsConstructor(onConstructor=@__(@Inject))publicclassTest{@Named("MyField")privatefinalStringfield;@Named("MyHandler")privatefinalSomeHandlerhandler;}生成的类:publicclassTest{@Named("MyField")privatefinalStringfield;@Named("MyField")

java - Guice 和一般应用程序配置

对于用Java编写的监控软件,我考虑使用GoogleGuice作为DI提供程序。项目需要从外部资源(文件或数据库)加载其配置。该应用程序旨在以独立模式或在servlet容器中运行。目前配置不包含依赖注入(inject)的绑定(bind)或参数,仅包含一些全局应用程序设置(JDBC连接定义和关联的数据库管理/监控对象)。我看到两个选项:使用另一个库,例如ApacheCommonsConfiguration,它支持文件和JDBC配置源(以及许多其他)或为Guice使用基于文件的插件,例如guice-xml-config存储应用程序选项(这将允许稍后在必要时配置DI部分)。您会建议将Guic

java - Guice 和一般应用程序配置

对于用Java编写的监控软件,我考虑使用GoogleGuice作为DI提供程序。项目需要从外部资源(文件或数据库)加载其配置。该应用程序旨在以独立模式或在servlet容器中运行。目前配置不包含依赖注入(inject)的绑定(bind)或参数,仅包含一些全局应用程序设置(JDBC连接定义和关联的数据库管理/监控对象)。我看到两个选项:使用另一个库,例如ApacheCommonsConfiguration,它支持文件和JDBC配置源(以及许多其他)或为Guice使用基于文件的插件,例如guice-xml-config存储应用程序选项(这将允许稍后在必要时配置DI部分)。您会建议将Guic