问题标签 [assisted-inject]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1347 浏览

java - Gin AssistedInject:延迟绑定结果类型“Foo”不应该是抽象的

我正在尝试在 GWT 2.4.0 中将 AssistedInject 与 Gin 一起使用:

在我的杜松子酒模块中:

这似乎应该足够了,对吧?但是当我尝试将ElevatorButtonFactory其作为注入参数时,出现以下错误:

[错误] [foo] - 延迟绑定结果类型“com.foo.html.client.components.floorpicker.ElevatorButton.ElevatorButtonFactory”不应该是抽象的

我究竟做错了什么?

0 投票
1 回答
796 浏览

dependency-injection - 带有自定义注释的 Guice 辅助注入

目前我使用带有命名参数的辅助注入,如下所示:

这很好用。但我认为使用字符串作为参数的标识符有点难看。我想做的是以下几点:

所以本质上我想要自定义辅助注释。有没有办法做到这一点?

0 投票
0 回答
341 浏览

spring - Spring:复杂的对象创建

我试图通过使用 spring 的@Autowired注释来创建一个复杂的对象,但它看起来是不可能的。

我正在尝试创建两个对象:Viewand Presenter,使用prototype范围,然后将它们的引用相互注入。更重要的是:我想从实例的创建者传递两个额外的参数,并从 IoC 容器中注入一些额外的服务。

在 Guice 中,可以通过“辅助注射”来实现,但我怎样才能在春天实现呢?

0 投票
1 回答
216 浏览

guice - 通过辅助注入将创建上下文注入到 guice 托管实例中

我希望能够通过辅助注入到创建的对象中发现/注入创建对象的方法的名称。

我想做的一个例子:

不幸的是,到目前为止,我想到的唯一方法是

  1. 扩展辅助注入(通过复制和粘贴)以添加我的功能
  2. 写一些非常类似于为我做的辅助注射的东西
  3. 编写很多样板文件,在没有 guices 帮助的情况下做到这一点

我正在寻找以下方面的解决方案:

  1. 执行此操作的一些 guice 配置或模式
  2. 一些这样做的扩展
  3. 我可以查看的文档/示例将帮助我自己编写此内容
  4. 示例应用程序的替代模式来完成我想做的事情
0 投票
1 回答
316 浏览

java - Guice FactoryModuleBuilder 用于输入列表

我使用了 Guice 辅助注入和 FactoryModuleBuilder 来帮助构建适配器类,其中一个类包装另一个类。

假设我想向 MyClassWrapper.Factory 接口添加另一个方法签名:

FactoryMethodBuilder 可以确定我想从 MyClass 对象列表中构造一个 MyClassWrapper 对象列表吗?还是我需要手动编写工厂方法实现?

0 投票
1 回答
76 浏览

java - 我应该使用哪个 AssistedInject?谷歌还是 Sonatype?

我很新Guice,我需要AssistedInject在我的应用程序中。当我在 Maven 上查看 Jar 时,我看到有两个:

Sonatype 版本更新更近,版本号也更高,但它实际上是由 Google 和 Guice 官方支持的吗?还是它自己的 Nexus 东西?

0 投票
2 回答
6505 浏览

java - Guice AssistedInject 不会注入工厂

我正在尝试使用 Guice 3.0 AssistedInject,它不会实例化工厂。

SSCCE 代码:

家长班

工厂接口

模块

FooImpl

BarImpl非常相似FooImpl。这里出了什么问题?另请注意,我尝试了两者@AssistedInject@Inject这里,两者都导致错误。

输出:

请注意,第 9 行是第一次调用myFactory.create()

0 投票
1 回答
265 浏览

java - 使用 Guice 在对象图中构建特定类

我陷入了一种情况,即我很早就决定不使用 Guice 创建特定的图表。我需要一个工厂,但我不知道如何建造它。

我所取得的是一个会话感知游戏对象管理系统。

所有需要参与这项工作的对象都可以正常工作。

它们都是通过注入、提供者、guice 工厂等创建的。

在这个级别我真正需要能够管理的一个对象是项目。

Items 也是我没有创建 guice 的一个对象。

项目也有一个复杂的类层次结构,客户预先知道,但平台代码不知道。在我最初的设计中,我建立了自己的工厂,以便能够使用我的 guicified 组件来正确构建这些对象。

到目前为止这工作正常,因为这些对象必须参与管理层,我需要找到一个简单的解决方案。

这是当前的实现:

我当前的非 guice 实现看起来有点像这样

我完全不知道这些子类型,通常由客户端模块提供。我有一些注释,使用任何 guice 创建的对象,我可以在我正在开发的游戏框架中提供托管状态。

它适用于除 item 之外的所有对象......因为它们不是 guice 创建的对象。

我更喜欢这样的东西:

由于 Guice 不能使用通用静态类型作为键,它不知道要构建什么。因为我不能将它绑定到任何特定的东西,或者要求它绑定到任何特定的东西

我被卡住无法用 guice 构建它。但是我有一些 AOP 代码需要由 guice 创建。

如果我能够从我的应用程序创建子类型,那么这些子类型可以参与我的托管游戏状态 aop 层。

任何建议都会有很大帮助。

任何关于改写问题的建议也将不胜感激。

0 投票
1 回答
1591 浏览

java - @Nullable 似乎不适用于 @AssistedInject

我有一个看起来像这样的构造函数:

我收到以下错误(两次,每个参数一次)

知道有什么问题吗?我在这个问题上发现了另外两个问题,其中一个说这是一个我认为没有的依赖问题,另一个说这是一个Eclipse 问题,我确实使用过,但我刷新、清理并重建了我的maven项目从头开始,所以我不确定问题是什么。

我正在使用javax.annotation.Nullable,它应该在运行时保留。我还应该尝试什么?

0 投票
1 回答
4081 浏览

gwt - 工厂“无法创建或继承绑定”的 GIN AssistedInject 问题

我收到一个奇怪的错误,在使用辅助注射时我无法克服:

所需节点的路径:

com.projectname.client.application.resourceworkspace.ResourceWorkspacePresenter [com.gwtplatform.mvp.client.gin.AbstractPresenterModule.bindPresenter(AbstractPresenterModule.java:122)] -> com.jorsek.editor.gin.EditorClientFactory [@Inject com 的构造函数.projectname.client.application.resourceworkspace.ResourceWorkspacePresenter]

这是我进行所有设置的方式:

我的工厂:

我的模块:

com.jorsek.editor.impl.SyncedDOMModel:

这就是我试图注入我的工厂以供使用的方式:

这就是我试图使用我的工厂的方式(虽然永远不会走这么远):

谁能明白为什么会发生这种情况?

如果有帮助,我正在使用 GWTP RC2。

谢谢,

凯西