JAVA中的內省使用

來源:互聯網
上載者:User

http://www.cnblogs.com/H_Razor/archive/2011/02/28/1967178.html

 

以下兩段參考:

http://blog.sina.com.cn/s/blog_5d06a3c70100b521.html

關於內省的思考

    struts2的action(還有struts1的formbean)就是這麼實現的。

    前台的form標籤具有一些屬性(在設定檔中知道這個form提交到那個action,而這個action有和這個form相對應的屬性及其get/set),提交以後,由struts的servlet攔下來轉寄給某個具體的action.而在轉寄給action之前struts通過內省的方式將form中的值set到了action中去。

    其實只要有個set**或者get**,內省就會理解為存在這樣的**屬性,這樣可以方便我們把 Bean 類通過一個介面來定義而不用去關心具體實現,不用去關心 Bean 中資料的儲存。比如我們可以把所有的 getter/setter 方法放到介面裡定義,但是真正資料的存取則是在具體類中去實現,這樣可提高系統的擴充性。

總結
    將 Java 的反射以及內省應用到程式設計中去可以大大的提供者的智能化和可擴充性。有很多項目都是採取這兩種技術來實現其核心功能,例如我們前面提到的 Struts ,還有用於處理 XML 檔案的 Digester 項目,其實應該說幾乎所有的項目都或多或少的採用這兩種技術。在實際應用過程中二者要相互結合方能發揮真正的智能化以及高度可擴充性。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.