「註釋更加靈活的,你如何使用它們,與選擇方面的註釋信息是否被包含在由編譯器輸出的類文件並在運行時提供給應用程序」
它比XDoclet的更加靈活,因爲:
- 它可以從源代碼(如XDoclet的)一起使用
- 它可以在運行時使用,當你只有字節碼而不是源代碼(不像XDoclet的)
雖然註釋是理想的,涉及到一個特定的成分的元數據,它們不能很好地適用於元數據與交叉組件應用程序。
註解(如XDoclet的)具有一個有趣的特點,而不是外部XML例如:
註解住在代碼,所以很自然他們將被施加到它們被定義的代碼上。您不必指定(使用一些複雜的語法)它們應用的代碼片段。實例:
- 如果註釋是在一個方法中定義,它自然適用於該方法
- 如果一個註解被上一字段中定義的,它自然適用於場
- 如果一個註解被限定在一類,它自然適用於該類
- 如果註釋是在包中定義,它自然適用於包裝
如果你想有相同的外部XML文件,你必須使用一個複雜的語法來識別你引用的代碼片段。所以這使得他們很容易申請。
此外,如果代碼重構(如重命名),註釋繼續正常工作,而外部XML將不得不改變指向新的類或方法名稱。
我不認爲在一個web應用程序中,大多數事情是交叉組件。
- 如果你定義了一個實體的Persistance(到一個數據庫),就像這個類應該被持久化的表一樣,它對所有的實體都不是全局的,它隻影響當前的實體。
- 同許多其他例子...
來源
2009-10-06 07:30:55
KLE
謝謝Skaffman,這很好地闡明瞭它。 – dchucks 2009-10-06 08:27:32