SSH框架之Spring的引入、專業術語、概述

一、回顧及引入Spring框架
1、Struts與Hibernate框架可以做什麼事?
Struts,Mvc中控制層解決方案。可以進行請求數據自動封裝、類型轉換、文件上傳、效驗…
Hibernate, 持久層的解決方案;可以做到,把對象保存到數據庫, 從數據庫中取出的是對象。

2、傳統的開發模式
基於mvc模式進行項目開發;
基於mvc的項目框架結構:Entity / dao / service / action

// 1. 實體類
class User{
}

//2. dao
class  UserDao{
   .. 訪問db
}

//3. service
class  UserService{
    UserDao userDao = new UserDao();
}

//4. action
class  UserAction{
    UserService userService = new UserService();
    ..
    拿到數據或結果
}

用戶訪問:
/user.action —-> Tomcat (服務器創建Action、Service、dao

3、思考:對象創建創建能否寫死?對象創建細節?
1)對象數量

    action  多個   【維護成員變量】
    service 一個   【不需要維護公共變量】
    dao     一個   【不需要維護公共變量】

2)創建時間

    action    訪問時候創建
    service   啓動時候創建
    dao       啓動時候創建

3)對象的依賴關係

    action  依賴 service
    service 依賴 dao

總結:
spring就是解決上面的問題的!
簡單來說,就是處理對象的創建的、以及對象的依賴關係!

二、專業術語
1、組件/框架設計
1)侵入式設計:引入了框架,對現有的類的結構有影響;即需要實現或繼承某些特定類。例如: Struts框架
2)非侵入式設計:引入了框架,對現有的類結構沒有影響。例如:Hibernate框架 / Spring框架

2、控制反轉(Inversion on Control , 控制反轉 IOC):對象的創建交給外部容器完成,這個就做控制反轉。

3、依賴注入(dependency injection): 處理對象的依賴關係

控制反轉與依賴注入的區別:
控制反轉, 解決對象創建的問題 【對象創建交給別人】。
依賴注入,在創建完對象後, 對象的關係的處理就是依賴注入 【通過set方法依賴注入】。

4、AOP(面向切面編程)切面,簡單來說來可以理解爲一個類,由很多重複代碼形成的類。切面舉例:事務、日誌、權限。

三、概述:
1、Spring框架,可以解決對象創建以及對象之間依賴關係的一種框架。且可以和其他框架一起使用;Spring與Struts, Spring與hibernate
(起到整合(粘合)作用的一個框架)

2、Spring提供了一站式解決方案:
1)Spring Core:spring的核心功能。IOC容器, 解決對象創建及依賴關係。
2)Spring Web:Spring對web模塊的支持。可以與struts整合,讓struts的action創建交給spring(spring mvc模式)。
3)Spring DAO:Spring 對jdbc操作的支持【JdbcTemplate模板工具類】
4)Spring ORM:spring對orm的支持。既可以與hibernate整合,【session】,也可以使用spring的對hibernate操作的封裝。
5)Spring AOP:切面編程
6)SpringEE:spring 對javaEE其他模塊的支持

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章