一丶怎麼理解spring
1.ioc:inversion of control 控制翻轉,建立物件權利的轉移,將通過new物件轉換為第三方容器配置。
2.di:denpence injection 依賴注入,通過註解的方式將需要依賴的物件注入到另乙個類中,這樣降低
了物件與物件之間的耦合,方便以後的擴充套件和維護。
3.spring是對j2ee諸多功能進行封裝了的乙個工具集;它的核心就是提供了一種新的機制來管理業務物件及依賴關係
具體就是控制反轉、依賴注入,aop(面向切面)。
4.spring的底層實現機制是用demo4j 解析xml檔案,使用反射機制例項化bean。
5…springioc ,其實就是依賴注入、控制反轉。
相當於把每個bean與bean之間的關係交給第三方容器管理;而這個容器就是spring。
6.springaop:面向切面的程式設計,或aop,是一種程式設計技術,允許程式模組化橫向切割關注點,
或者橫切典型的責任劃分,主要應用如日誌和事務管理。 springaop的底層實現機制就是用jdk動態**:對實現了介面的類生成**。
概念:spring 是乙個工廠模式的工廠類,主要通過配置檔案建立例項物件。
在我認為,spring就是工廠模式和**模式進行了乙個封裝.工廠設計模式(有相同功能的時候就可以使用工廠模式.代替了new,不用每個子類都建立乙個物件,直接呼叫就可以了):
我理解是:比如說乙個生產車(就是例項化每乙個車類),如果你把這些車放在工廠裡邊 只用告訴工廠什麼產什麼車,工廠就能幫你生產了,工廠有生產不同車的部門(工廠是乙個介面,每乙個生產車部門的都是它的子介面)。只要有乙個新品種車需要買,我們就可以新增加乙個新品種車的部門,不需要改變工廠和其他品種的部門(就相當於建立乙個新的實現類,不用改變原來的**)
(**模式:**物件:和目標物件有乙個父介面,對於動態**可以理解為:在程式執行中,程式把我們對目標物件a的訪問轉移到對**物件b的訪問,因為**物件b通過一些手段拿到目標物件的方法,火車票代售點。
三大特徵:
控制反**ioc,通過配置檔案例項化類,也就是說將new物件轉換為第三方容器配置,不用自己建立物件
依賴注入:給物件屬性賦值,有set ,構造方法,還有註解三種模式給物件注入值。
面向切面程式設計:aop,面向切面程式設計,該底層是通過jdk動態**及數實現的。在我的理解是,aop是處理把與業務無關的事情,比如日誌。許可權控制等,與實際業務分離的。比如你要在實現這個功能之前後者之後做點什麼。比如說輸出乙個日誌,這個時候就使用到了aop
註解:(不用配置每個bean,就是介面卡還有對映處理器)在bean容器中配置好全包掃瞄,在類中配置指定的註解,然後就會掃瞄該包下的註解,這樣就可以對該類進行例項化,還有賦值等操作。
二丶你是怎麼理解springmvc的
springmvc是基於過濾器對servlet進行了封裝的乙個框架
使用者向伺服器傳送請求,請求被spring 前端控制servelt dispatcherservlet捕獲;
dispatcherservlet 根據獲得的handler,選擇乙個合適的handleradapter。(附註:如果成功獲得handleradapter後,此時將開始執行***的prehandler(…)方法)
提取request中的模型資料,填充handler入參,開始執行handler(controller)。 在填充handler的入參過程中,根據你的配置,spring將幫你做一些額外的工作:
httpmessageconveter: 將請求訊息(如json、xml等資料)轉換成乙個物件,將物件轉換為指定的響應資訊
資料轉換:對請求訊息進行資料轉換。如string轉換成integer、double等
資料根式化:對請求訊息進行資料格式化。 如將字串轉換成格式化數字或格式化日期等
資料驗證: 驗證資料的有效性(長度、格式等),驗證結果儲存到bindingresult或error中
handler執行完成後,向dispatcherservlet 返回乙個modelandview物件;
根據返回的modelandview,選擇乙個適合的viewresolver(必須是已經註冊到spring容器中的viewresolver)返回給dispatcherservlet ;
viewresolver 結合model和view,來渲染檢視
三丶mybaties
1.流程:把連資料庫xml,還有資料庫操作(增刪查改)xml這些是配置到mybaties-confice.xml中進行解析(獲取檔案的值),controller層到代用inputstrem來讀mybaties-confice.xml。
Spring SpringMVC 工作機制
1.spring mvc請所有的請求都提交給 dispatcherservlet,它會委託應用系統的其他模組負責負責對請求進行真正的處理工作。3.dispatcherservlet請請求提交到目標 controller 4.controller進行業務邏輯處理後,會返回乙個modelandview ...
Spring SpringMVC工作原理
能夠完成客戶請求到controller對映。controller 需要為併發使用者處理上述請求,因此實現controller介面時,必須保證執行緒安全並且可重用。controller將處理使用者請求,這和struts action扮演的角色是一致的。一旦controller處理完使用者請求,則返回m...
Spring SpringMVC 整合問題
1 關於註解 註解該用什麼就用什麼,不能全部使用 component dao層 repository service呼叫時候的名字 不寫名字則預設為類名首字母小寫。service層 service controller呼叫時的名字 不寫名字則預設為類名首字母小寫。controller層 contro...