1. 程式人生 > >spring學習--一、基礎概念

spring學習--一、基礎概念

轉化 代碼 工作 cit app 現在 引入 xslt 異常

http://www.iteye.com/topic/1123081

上面這個網站(iteye)是國內學習spring非常棒的網站之一。

一、IOC

  IOC,即控制反轉,由IOC容器實現IOC功能,可以將類和雷之間的依賴、創建、拼接、管理、獲取的工作用配置的方式來完成,而不必用戶自己創建類的代碼,目前該配置文件采用xml文件。說的簡單點就是:之前自己手動不用框架寫項目,大部分的類和大部分的耦合關系都是自己設計,自己來寫代碼,其中有很多固定的、繁瑣的代碼,而spring有個叫IOC容器的工具,它可以通過解析配置文件的方式來幫我們創建好這些類和類之間的依賴,並且負責管理這些類,幫程序員來寫那些和業務無關的,重復固定的繁雜代碼。以前這部分類由程序員自己創建,現在通過IOC來創建和控制,所以叫做控制反轉。

二、AOP

  面向切面編程,是橫切邏輯編程的思想。怎麽來的呢?必然有它的底層支持,那就是java在java5.0之後引入了一個工具包:java.lang.instrument,允許在JVM啟動時啟用一個代理類,通過該代理類在運行時修改類的字節碼,就是java文件編譯為了class文件,已經在JVM中解釋跑起來了,這是通過代理類還可以修改class文件,來改變一個類的功能,很強大的特性吧!

三、數據訪問和集成

  這一部分功能是面向DAO層,整合各種持久層框架,對各種數據訪問技術進行了薄層封裝,隱藏了模式化代碼,使得DAO層數據形式和訪問技術無關的統一,那麽到底是怎樣封裝的呢?首先各種的訪問數據代碼都是需要做異常檢查的,這些檢查代碼可能會不同,Spring將這些檢查型異常轉化成為非檢查型異常,為整合各種持久層框架提供基礎。

四、Web及遠程操作、遠程訪問、Webocket

  建立在Application Context模塊上,提供了web應用的各種工具類,說白了就是通過Listener或Servlet這些基礎技術初始化Spring的容器,將Spring容器註冊到了Web容器中,所以說Spring關於Web的部分還是依賴Servlet技術,這是核心,同時該模塊還提供了許多的web功能:透明化文件上傳、Velocity、Freearker、XSLT等的支持,還有web開發的MVC框架(Spring MVC或可以整合其他MVC框架的功能)。

  說起整合又不得不提起一個工業最重要的概念:標準化,正是標準化的大範圍執行才為這些不論是開發框架還是其他的工具的產生奠定了基礎。

  WebSocket提供了一個在Web應用中高校、雙向的通信,需要考慮到苦湖籪(瀏覽器)和服務器之間的高頻和低時延消息交換

  以上四點就是Spring框架主要做的事情,可以了解到,Spring開發框架的基礎IOC和AOP,這兩者貫穿於Spring的所有模塊中,而Spring的模塊又可以分為兩大模塊:1、數據訪問;2、數據傳輸。這也是一般的web程序所要完成的核心功能。

spring學習--一、基礎概念