1

假设 Java 没有注释。你会想出什么想法来设计像 Google Guice 的 DI 框架这样的东西?我对 Java 还很陌生,除了

  • Junit3有什么
  • XML 配置
  • 某种内省?

您将如何检查需要注入的元素?除了注释之外,您理想的配置方式是什么?

4

2 回答 2

4

在注释成为语言的一部分之前,我们有XDoclet。它展示了注释的相同功能,但通过 Javadoc 标记。老式注解驱动的 EJB 有如下标签:

/**
 * @ejb.bean
 *     name="bank/Account"
 *     type="CMP"
 *     jndi-name="ejb/bank/Account"
 *     local-jndi-name="ejb/bank/LocalAccount"
 *     primkey-field="id"
 */
于 2010-05-08T07:57:32.000 回答
1

流行的Plexus IoC(类似于 Spring)使用Commons Attributes通过特殊的 javadoc 注释提供元数据等注释。这使其能够在较旧的 JVM 上工作(不支持注释的 1.5 之前的版本,但仍能获得一些好处)。

顺便说一句,JUnit 3 没有这样的东西——它只是为测试强制实施了一个命名方案——每个测试方法都必须命名为“testSomething”,这样它才能被识别为测试并由 JUnit 执行。这是通常称为“约定优于配置”的技术。

于 2010-05-08T06:48:38.770 回答