java - 我可以使用注释让代码在构造函数之前运行吗

标签 java annotations guice

我正在使用 Guice 在我的应用程序中创建和注入(inject)实例。

出于测试的目的,我创建了一个类,负责创建特定测试类所需的所有静态实例并注入(inject)它们。我们将此类命名为 GuiceGraphBuilder。

我想在调用我的模拟/测试类构造函数之前创建并启动 GuiceGraphBuilder,因为我的一些模拟类需要在构造时进行注入(inject)。

目前我正在使用一个静态构造函数来启动 GuiceGraphBuilder 并填充一堆静态字段。

有没有办法使用某种注释使代码在构造函数之前运行? 我看到了answer使用 Guice,但这对我来说当然不好,因为我想在生成的代码中创建 Guice 注入(inject)器。

最佳答案

我想你使用junit进行测试?然后你就有了生命周期 Hook

  • @BeforeClass - 在第一次测试之前运行一次(用于静态设置)
  • @Before - 在每个测试方法之前运行
  • @After - 在每个测试方法之后运行
  • @AfterClass - 所有测试完成后运行一次

我认为,根据 guice 的任意判断,您将能够通过将 init 和 clean up 匹配到正确的阶段来解决您的问题。

关于java - 我可以使用注释让代码在构造函数之前运行吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28262334/

相关文章:

java - 单击按钮时更改 URL 图片

java - 字符串常量在 SuppressWarnings 注释中不起作用

服务调用时出现 java.lang.IllegalArgumentException

java - 如何在另一个变量超过某个值时向变量添加增量?

java - 如何设置 Spring TCP 客户端和服务器模型?

java - 向 Jersey multipart-form-data 函数添​​加注释会破坏它

java - Intellij idea 显示错误警告

guice - 如何将预构建的实例传递给 guice 中的提供者?

java - Hibernate 4 connection.autocommit=false 忽略

java - 如何使用依赖注入(inject)模式实现类常量静态字段声明