三大框架學習心得
1、框架的意義與作用:
所謂框架,就是把一些繁瑣的重複性程式碼封裝起來,使程式設計師在編碼中把更多的經歷放到業務需求的分析和理解上面。
特點:封裝了很多細節,程式設計師在使用的時候會非常簡單。
2、三大框架:
Struts2,Hibernate,Spring
3、學好框架:
由於框架中細節很多,知識點比較零散,課後總結和做好筆記就變得尤為重要。
二、關於三層架構
三、框架體系結構
1、Struts2概述
Struts2是Apache發行的MVC開源框架。注意:它只是表現層(MVC)框架。
2、Struts2的來歷
Struts1:也是apache開發的一套mvc的開源框架。在2005年之前非常流行。
弊端:Struts1的核心控制器就是一個Servlet。隨著使用者的增多,弊端開始出現。
Struts2:在long long ago,有一個設計超前的框架XWork,後來推出了XWork1和WebWork2。Struts2就是apache和OpenSymphony組織合併開發出來。
裡面包含了WebWork2的核心及Struts的一些特性和功能。除此之外,和Struts1沒有任何關係了。
五、hibernate簡介
5.1ORM框架
ORM 物件關係對映(Object Relational Mapping,簡稱ORM,或O/RM,或O/R mapping),是一種程式技術,用於實現面向物件程式語言裡不同型別系統的數
據之間轉換。從效果上說,它其實是建立了一個可在程式語言裡使用的“虛擬物件資料庫”。
Hibernate是一個數據持久化層的ORM框架.
Object:物件,java物件,此處特指JavaBean
Relational:關係,二維表,資料庫中的表。
對映|對映元資料:物件中屬性,與表的欄位,存在對應關係。
5.2 2.2什麼是hibernate
Hibernate
Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程式使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構做取代CMP,完成資料持久化的重任。
Hibernate是輕量級JavaEE應用的持久層解決方案,是一個關係資料庫ORM框架
ORM 就是通過將Java物件對映到資料庫表,通過操作Java物件,就可以完成對資料表的操作
Hibernate提供了對關係型資料庫增刪改成操作
5.3 主流的ORM框架
JPA Java Persistence API.JPA通過JDK 5.0註解或XML描述物件-關係表的對映關係(只有介面規範)
Hibernate 最流行ORM框架,通過物件-關係對映配置,可以完全脫離底層SQL
MyBatis 本是apache的一個開源專案 iBatis,支援普通 SQL查詢,儲存過程和高階對映的優秀持久層框架
Apache DBUtils 、Spring JDBCTemplate
5.4 優點
Hibernate對JDBC訪問資料庫的程式碼做了封裝,大大簡化了資料訪問層繁瑣的重複性程式碼
Hibernate是一個基於jdbc的主流持久化框架,是一個優秀的orm實現,它很大程度的簡化了dao層編碼工作 session.save(User);
Hibernate使用java的反射機制
Hibernate的效能非常好,因為它是一個輕量級框架。對映的靈活性很出色。它支援很多關係型資料庫,從一對一到多對多的各種複雜關係
六、Spring簡介
6.1Spring介紹
Spring是一個開源框架,Spring是於2003 年興起的一個輕量級的Java 開發框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來。它是為了解決企業應用開發的複雜性而建立的。Spring使用基本的JavaBean來完成以前只可能由EJB完成的事情。然而,Spring的用途不僅限於伺服器端的開發。從簡單性、可測試性和鬆耦合的角度而言,任何Java應用都可以從Spring中受益
簡單來說,Spring是一個輕量級的控制反轉(IoC)和麵向切面(AOP)的容器框架。
6.2☆使用Spring好處
方便解耦,簡化開發
Spring就是一個大工廠,可以將所有物件建立和依賴關係維護,交給Spring管理
AOP程式設計的支援
Spring提供面向切面程式設計,可以方便的實現對程式進行許可權攔截、執行監控等功能
宣告式事務的支援
只需要通過配置就可以完成對事務的管理,而無需手動程式設計
方便程式的測試
Spring對Junit4支援,可以通過註解方便的測試Spring程式
方便整合各種優秀框架
Spring不排斥各種優秀的開源框架,其內部提供了對各種優秀框架(如:Struts、Hibernate、MyBatis、Quartz等)的直接支援
降低JavaEE API的使用難度
Spring 對JavaEE開發中非常難用的一些API(JDBC、JavaMail、遠端呼叫等),都提供了封裝,使這些API應用難度大大降低
6.3★Spring體系結構
Spring 框架是一個分層架構,,它包含一系列的功能要素並被分為大約20個模組。這些模組分為Core Container、Data Access/Integration、Web、AOP(Aspect Oriented Programming)、Instrumentation和測試部分,如下圖所示: