2010-05-08 75 views
1

讓我們說的Java沒有註釋。你會想出什麼樣的設計來設計Google Guice的DI框架?我是相當新的Java和想不出比你有什麼替代註釋?

  • 其他任何事情Junit3只好
  • XML配置
  • 某種類型的自省?

你會如何檢查是需要注入的元素?除註釋以外,您最理想的配置方式是什麼?

回答

1

流行Plexus IoC(類似於彈簧)使用Commons Attributes通過特殊的javadoc註釋提供類似元數據註解。這使得它能夠在較舊的JVM上工作(在1.5之前,它不支持註釋,同時仍獲得一些好處)。

Btw JUnit 3沒有這樣的東西 - 它只是爲測試強制實施了一個命名方案 - 每個測試方法都必須命名爲「testSomething」,這樣才能被JUnit識別爲測試並執行。這是通常稱爲「convention over configuration」的技術。

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" 
*/