问题标签 [guice]

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 投票
2 回答
2007 浏览

java - Guice + Quartz + iBatis

我正在尝试将 Guice (Java)、Quartz 调度程序和 iBatis ( iBaGuice ) 连接在一起以执行以下操作:

  1. 使用启动命令行实用程序扫描程序main()
  2. 定期扫描目录(作为参数提供)以查找包含格式化输出(XML 或 YAML)的文件
  3. 当检测到文件时,解析并输出结果到数据库

问题:

  1. 我用这个例子来连接 Guice 和 Quartz。但是,我遗漏了一些我在评论中询问的重要细节,但这篇文章有些过时了,所以我也在这里引用它:
  1. 如何设置调度程序并不明显。我将在哪里以及如何连接Trigger(我可以使用Trigger#makeMinutelyTrigger)?
  2. 我真的只有一种类型的工作要执行,我知道 JobFactory#newJob 中的细节来自TriggerFiredBundle参数,但是我在哪里/如何连接它?我在哪里/如何创建或连接具体的工作?

PS通过创建和连接ScheduleProvider,我得到了一些进一步的信息。现在,我不知道如何在以下代码段中实际安排作业。似乎我的JobFactory#newJob方法从未被调用

}

0 投票
4 回答
7473 浏览

java - 如何让谷歌 guice 注入自定义记录器,比如 commons-logging 或 log4j 记录器

Google guice 有一个内置的记录器绑定。但是,如果我想使用 commons-logging 或 log4j 记录器怎么办?

我可以得到 guice 来注入由创建的日志吗

但具有与内置绑定相同的行为:

绑定会自动将记录器的名称设置为注入记录器的类的名称。


它甚至有意义吗?还是喊我干脆用java自带的Logger?或者只使用公共日志而不注入?

0 投票
3 回答
1047 浏览

java - Java 应用程序中的属性框架

我一直在使用spring作为我的 IOC。它还有一种非常好的方法可以在你的 bean 中注入属性。

现在我正在参与一个新项目,其中 IOC 是Guice。我不完全理解我应该如何使用 Guice 将属性注入到我的 bean 中的概念。

问题:实际上是否可以将原始属性(字符串、整数)注入我的 guice bean。如果答案是否定的,那么也许您知道一些不错的 Java 属性框架。因为现在我想在我的应用程序中使用ResourceBundle类进行简单的属性管理。但是在使用弹簧一段时间后,这对我来说似乎并不严重。

0 投票
2 回答
2487 浏览

java - 如何在 Swing 应用程序中使用 Guice

我有一个 Swing 应用程序,我想将它从意大利面条转换为使用 Guice 的依赖注入。使用 Guice 提供配置和任务队列等服务非常棒,但我现在开始使用应用程序的 GUI 并且不确定如何继续。

该应用程序基本上是JFrame一个在JTabbedPane. 每个选项卡都是一个单独的JPanel子类,它列出了各种组件并需要服务来在按下某些按钮时执行操作。

在当前的应用程序中,这看起来有点像这样:

显然,这并不完全遵循 DI 最佳实践。我不想@Inject使用选项卡,因为这会给我一个带有几十个参数的构造函数。我确实想使用 Guice 将所需的依赖项注入到我需要的任何选项卡对象中,而不必将所有这些依赖项传递给选项卡构造函数。

选项卡对象的所有依赖项都是我Module知道的服务,所以基本上想做的就是向 Guice 询问所需的对象并为我构建它们。

0 投票
2 回答
1235 浏览

java - 如何编写不显式创建对象的 Guice Provider?

假设我有一个 ClassWithManyDependencies。我想为这个类编写一个 Guice Provider,以便在我的程序中多次创建该类的新实例(另一个类将依赖于这个 Provider 并在多个点使用它来创建新实例)。

实现这一点的一种方法是让 Provider 依赖于 ClassWithManyDependencies 的所有依赖项。这是相当丑陋的。

有没有更好的方法来实现这一目标?

注意 - 我当然不希望提供者依赖注入器。我考虑的另一个选择是让 ClassWithManyDependencies 和 ClassWithManyDependenciesProvider 扩展同一个基类,但它很丑。

0 投票
3 回答
3939 浏览

eclipse - Gin / Gwt / Eclipse:com.google.gwt.inject.Inject 无法解析为类型

我正在尝试在 Eclipse 中使用 GIN (Guice for GWT)。该教程说要在我的模块 xml 文件中添加一行:

但是,当我这样做时,Eclipse 报告错误“com.google.gwt.inject.Inject 无法解析为类型”

我添加了 gin.jar、aopalliance.jar 和 guice.jar 作为引用库。我还需要做什么?

0 投票
11 回答
32276 浏览

java - 使用 Jersey 和 Guice 进行 RESTful 服务的实用建议

从我在网上可以找到的信息来看,Guice + Jersey 整合的最新技术自 2008 年以来一直停滞不前,当时两支球队似乎都陷入了僵局。问题的症结在于 JAX-RS 注释执行字段和方法注入,这与 Guice 自己的依赖注入不能很好地配合。

我发现的几个例子还不足以说明:

  • Iqbalyusuf在 Google App Engine Java 上的 Jersey + Guice 上的帖子受到大量样板文件的影响(手动获取和调用注入器)。我希望绑定和注入应该通过 Guice 注释在幕后进行。

  • Jonathan Curran 的文章使用 Jersey、Guice 和 JSR-250 创建一个 RESTful 服务给了我希望,因为它更新的更多(2010 年),但仅仅展示了如何在 Guice ServletModule 中启动 Jersey 服务。但是,没有任何真正的依赖注入的例子。我想这留给读者作为练习。Curran 的帖子实际上可能是连接 Guice 和 Jersey 的正确第一步,所以我计划从那开始。

  • 诱人的詹姆斯斯特拉坎写道

    JAX-RS 与 Spring、Guice、GuiceyFruit 或 JBossMC 等依赖注入框架配合得很好——你基本上可以选择你喜欢的任何一个。

    但是从从业者的角度来看,我没有看到任何证据是真实的。

我发现缺少的是关于如何结合 JAX-RS 和 Guice 注释的实际示例和解释。例如:

  • 我相信我不能对任何资源使用构造函数注入,因为 Jersey 想要控制它
  • 我不确定是否可以将@Inject 与@PathParam、@QueryParam 等结合使用。
  • 如何在 MessageBodyWriter 实现中使用注入

有没有人有例子,最好是有来源,结合泽西岛和吉斯而不牺牲其中一个或另一个的非平凡应用程序?不管怎样,我都会继续走这条路,但泽西和吉斯名单上的点点滴滴让我觉得我在重复其他人的工作。

0 投票
1 回答
419 浏览

java - 多绑定的 IoC 问题

我是 Java 初学者和 IoC。东西怎么做:

在 Guice 示例中以 IoC 方式?

我应该如何配置我的注射器?

0 投票
3 回答
4429 浏览

dependency-injection - Google Guice 的隐藏功能

Google Guice 提供了一些很棒的依赖注入功能。

我最近遇到了@Nullable功能,它允许您将构造函数参数标记为可选(允许为空),因为 Guice 默认情况下不允许这些:

例如

https://github.com/google/guice/wiki/UseNullable

人们使用的 Guice 的其他有用特性是什么(尤其是不太明显的特性)?

0 投票
3 回答
1247 浏览

java - Guice 在 UI 线程问题之外创建 Swing 组件?

我正在使用 Google Guice 作为 IOC 容器来开发 Java Swing 应用程序。事情进展顺利。有一些用户界面问题。当标准 L&F 替换为推送像素时,由于 Guice 的 Swing 组件在 UI 线程之外创建,Substance L&F 应用程序未运行。

有没有办法告诉 Guice 在 UI 线程中创建 Swing 组件?

也许我应该创建自定义提供程序,在SwingUtilities.invokeAndWait(Runnable)创建它们后返回 Swing 组件。

我不喜欢在 UI 线程中运行整个应用程序的想法,但也许这只是一个完美的解决方案。