Java進階之Spring架構工作原理簡述,Spring架構是一個開源的Java平台,它為容易而快速的開發出耐用的Java應用程式提供了全面的基礎設施。接下來給大家簡單講解Spring架構的工作原理。
Spring是一種多層的J2EE應用程式架構,其核心就是提供一種新的機制管理業務對象及其依賴關系。它是一種容器架構,用于建立bean,維護bean之間的關系,它可以管理Web層、持久層、業務層等,可以配置各個層的元件并且維護各個層的關系。
Spring的主要特征
1、IOC(控制反轉)或DI(依賴注入):明确定義元件的接口,獨立開發各個元件,然後根據元件的依賴關系組裝運作;即将建立及管理對象的權利交給Spring容器。Spring是一個輕型容器(light-weight Container),其核心是Bean工廠(Bean Factory),用以構造我們所需要的M(Model),能夠讓互相協作的軟體元件保持松散耦合,降低了業務對象替換的複雜性,提高了元件之間的解耦。
2、AOP(面向切面程式設計):通過預編譯方式和運作期動态代理實作在不修改源代碼的情況下給程式動态統一添加功能的一種技術。即系統級的服務從代碼中解耦出來。例如:将日志記錄、性能統計、安全控制、事務處理、異常處理等代碼從業務邏輯代碼中劃分出來,它允許你把遍布應用各處的功能分離出來形成可重用元件。
Spring工作原理
1、SpringMVC請所有的請求都送出給DispatcherServlet,它會委托應用系統的其他子產品負責負責對請求進行真正的處理工作。
2、DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller。
3、DispatcherServlet請請求送出到目标Controller。
4、Controller進行業務邏輯處理後,會傳回一個ModelAndView。
5、Dispathcher查詢一個或多個ViewResolver視圖解析器,找到ModelAndView對象指定的視圖對象 。
6、視圖對象負責渲染傳回給用戶端。
Spring能幫助你通過最簡單可行的解決辦法來解決問題,是Java程式員日常工作的好幫手。目前常用的Java組合架構(SSH、SSM)都離不開Spring,是以我們一定要學好它。