2013-10-09 29 views
3

我正在學習Java Servlet,我很好奇Apache軟件基金會爲什麼擺脫web.xml,並讓程序員使用註釋。比使用web.xml更好地使用註釋嗎?他們之間有什麼不同?使用註釋和使用web.xml有什麼區別?

+0

請注意,仍有一些配置無法通過註釋實現。 –

+0

問題中存在一些事實錯誤。 1. web.xml沒有被刪除,它仍然在最新的Servlet規範中完全支持。 2. ASF不是Servlet規範的管理者 - 也就是JCP和Servlet專家組的角色。 –

回答

6

沒有什麼區別,註釋只是更方便,並防止你膨脹web.xml與數百條目(情況下更大的應用程序)。它也是Convention over configuration方法的一部分。另請注意,您不必使用註釋,仍然可以在web.xml中註冊您的servlet。

2

使用XML和基於註釋的Spring配置文件都有好處和缺點。但是,它不一定是一種「或非」的決定。

這裏有一個更廣泛的問題,那就是XML vs Annotation如果你的對象模型只會以一種方式持久化,那麼內聯元數據(即註釋)更加緊湊和可讀。

但是,如果您的對象模型在不同的應用程序中被重複使用,以至於每個應用程序都希望以不同的方式持久保存模型,那麼將元數據(即XML描述符)外部化就變得更合適。

沒有一個更好,所以都支持,雖然註釋更時尚。像本地Hibernate這樣的更成熟的API提供了這兩種API,因爲衆所周知,沒有一個是足夠的。

+0

這與Spring有什麼關係? –

+0

Spring在創建對象的依賴項注入方面起作用,該對象從Annotation中獲取有關類的元信息。嘗試閱讀Spring Annotation上的教程但我認爲現在爲時尚早。 –

+1

我想你已經把我和OP混淆了。 'web-xml'和'Servlet' API註釋和Spring註解是兩個獨立的東西。爲什麼你甚至提出休眠?您的答案與「Servlet」註釋無關。 –

相關問題