问题标签 [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.
java - Gin AssistedInject:延迟绑定结果类型“Foo”不应该是抽象的
我正在尝试在 GWT 2.4.0 中将 AssistedInject 与 Gin 一起使用:
在我的杜松子酒模块中:
这似乎应该足够了,对吧?但是当我尝试将ElevatorButtonFactory
其作为注入参数时,出现以下错误:
[错误] [foo] - 延迟绑定结果类型“com.foo.html.client.components.floorpicker.ElevatorButton.ElevatorButtonFactory”不应该是抽象的
我究竟做错了什么?
dependency-injection - 带有自定义注释的 Guice 辅助注入
目前我使用带有命名参数的辅助注入,如下所示:
这很好用。但我认为使用字符串作为参数的标识符有点难看。我想做的是以下几点:
所以本质上我想要自定义辅助注释。有没有办法做到这一点?
spring - Spring:复杂的对象创建
我试图通过使用 spring 的@Autowired
注释来创建一个复杂的对象,但它看起来是不可能的。
我正在尝试创建两个对象:View
and Presenter
,使用prototype
范围,然后将它们的引用相互注入。更重要的是:我想从实例的创建者传递两个额外的参数,并从 IoC 容器中注入一些额外的服务。
在 Guice 中,可以通过“辅助注射”来实现,但我怎样才能在春天实现呢?
guice - 通过辅助注入将创建上下文注入到 guice 托管实例中
我希望能够通过辅助注入到创建的对象中发现/注入创建对象的方法的名称。
我想做的一个例子:
不幸的是,到目前为止,我想到的唯一方法是
- 扩展辅助注入(通过复制和粘贴)以添加我的功能
- 写一些非常类似于为我做的辅助注射的东西
- 编写很多样板文件,在没有 guices 帮助的情况下做到这一点
我正在寻找以下方面的解决方案:
- 执行此操作的一些 guice 配置或模式
- 一些这样做的扩展
- 我可以查看的文档/示例将帮助我自己编写此内容
- 示例应用程序的替代模式来完成我想做的事情
java - Guice FactoryModuleBuilder 用于输入列表
我使用了 Guice 辅助注入和 FactoryModuleBuilder 来帮助构建适配器类,其中一个类包装另一个类。
假设我想向 MyClassWrapper.Factory 接口添加另一个方法签名:
FactoryMethodBuilder 可以确定我想从 MyClass 对象列表中构造一个 MyClassWrapper 对象列表吗?还是我需要手动编写工厂方法实现?
java - 我应该使用哪个 AssistedInject?谷歌还是 Sonatype?
我很新Guice
,我需要AssistedInject
在我的应用程序中。当我在 Maven 上查看 Jar 时,我看到有两个:
Sonatype 版本更新更近,版本号也更高,但它实际上是由 Google 和 Guice 官方支持的吗?还是它自己的 Nexus 东西?
java - Guice AssistedInject 不会注入工厂
我正在尝试使用 Guice 3.0 AssistedInject
,它不会实例化工厂。
SSCCE 代码:
家长班
工厂接口
模块
FooImpl
BarImpl
非常相似FooImpl
。这里出了什么问题?另请注意,我尝试了两者@AssistedInject
和@Inject
这里,两者都导致错误。
输出:
请注意,第 9 行是第一次调用myFactory.create()
java - 使用 Guice 在对象图中构建特定类
我陷入了一种情况,即我很早就决定不使用 Guice 创建特定的图表。我需要一个工厂,但我不知道如何建造它。
我所取得的是一个会话感知游戏对象管理系统。
所有需要参与这项工作的对象都可以正常工作。
它们都是通过注入、提供者、guice 工厂等创建的。
在这个级别我真正需要能够管理的一个对象是项目。
Items 也是我没有创建 guice 的一个对象。
项目也有一个复杂的类层次结构,客户预先知道,但平台代码不知道。在我最初的设计中,我建立了自己的工厂,以便能够使用我的 guicified 组件来正确构建这些对象。
到目前为止这工作正常,因为这些对象必须参与管理层,我需要找到一个简单的解决方案。
这是当前的实现:
我当前的非 guice 实现看起来有点像这样
我完全不知道这些子类型,通常由客户端模块提供。我有一些注释,使用任何 guice 创建的对象,我可以在我正在开发的游戏框架中提供托管状态。
它适用于除 item 之外的所有对象......因为它们不是 guice 创建的对象。
我更喜欢这样的东西:
由于 Guice 不能使用通用静态类型作为键,它不知道要构建什么。因为我不能将它绑定到任何特定的东西,或者要求它绑定到任何特定的东西
我被卡住无法用 guice 构建它。但是我有一些 AOP 代码需要由 guice 创建。
如果我能够从我的应用程序创建子类型,那么这些子类型可以参与我的托管游戏状态 aop 层。
任何建议都会有很大帮助。
任何关于改写问题的建议也将不胜感激。
java - @Nullable 似乎不适用于 @AssistedInject
我有一个看起来像这样的构造函数:
我收到以下错误(两次,每个参数一次)
知道有什么问题吗?我在这个问题上发现了另外两个问题,其中一个说这是一个我认为没有的依赖问题,另一个说这是一个Eclipse 问题,我确实使用过,但我刷新、清理并重建了我的maven项目从头开始,所以我不确定问题是什么。
我正在使用javax.annotation.Nullable,它应该在运行时保留。我还应该尝试什么?
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。
谢谢,
凯西