領先一步
VMware 提供培訓和認證,助您加速進步。
瞭解更多上週我在亞特蘭大的一家Barnes & Noble書店裡發生了這件事。我繞到電腦區,開始瀏覽書名。我頭微傾,無意中聽到一段關於工作機會的對話。我沒有主動去聽,但我知道一方在推銷工作,另一方在詢問。
幾分鐘後,只剩下我和那位尋找人才的先生。我確信他會開口。不久後,他問道:“所以你是做 J2EE 的?” 談話就這樣開始了。他問了我關於我的工作。他對 Interface21 並不瞭解,但在得知這是 Spring 背後的公司後,他的臉上露出了光彩。他說他還沒有嘗試過 Spring,然後補充說他目前正在使用 Struts。
Spring 和 Struts 的關聯在之前已經出現過幾次了。人們聽說過 Spring MVC 但對 Spring 的其他部分卻知之甚少,這種情況並不少見。對另一些人來說,Spring 主要是一個依賴注入的框架。考慮到 Spring 所涵蓋的範圍,所有這些都讓我思考,如何才能最好地向那些還不熟悉它的人定義它是什麼?
或許詳細談論 Spring 比簡潔地定義它更容易,但這裡是一個嘗試。我挑戰你用更少的詞來做到這一點,只要你想象你在和書店裡的那位先生說話。
Spring 旨在對普通物件進行依賴注入。你不需要自己建立物件,而是告訴像 Spring 這樣的框架,並讓它為你配置這些物件。我說“普通”是為了強調這些物件並不瞭解 Spring。聽起來很簡單?一旦你這麼做了,你就可以透過代理機制開啟通往強大的 AOP 式服務的大門,這個機制會攔截對你物件的呼叫,並以透明的方式新增行為。想要事務的標記或訪問遠端服務而不“汙染”你的業務物件?只需新增幾行配置(無需編碼!)即可輕鬆實現。Spring 一遍又一遍地使用這個公式,來提供對安全、事務、遠端呼叫以及許多其他傳統上難以實現的企業的透明訪問服務。
所以,請仔細看看。這只是一個開始。還有更多可以說的,但在我看來,以上內容抓住了它的精髓,描繪了一幅更接近 Spring 本質的畫面。從另一個層面來說,Spring 旨在保持事物的簡潔和最小化。