在眾多編程語(yǔ)言當(dāng)中,Java經(jīng)過(guò)多年的發(fā)展,直到目前為止,仍然可以堅(jiān)持霸主地位不可動(dòng)搖。毫無(wú)疑問(wèn),Java仍然是最受歡迎的編程語(yǔ)言之一。 作為優(yōu)秀的Java開(kāi)發(fā)人員,你知道主流Java Web開(kāi)發(fā)框架有哪些呢?快來(lái)看看Java Web開(kāi)發(fā)中的五大主流框架,即Spring 框架、Spring MVC 框架、MyBatis 框架、Hibernate 框架和Struts 2 框架。
一、Spring 框架
Spring 框架是一個(gè)輕量級(jí)的框架,滲透了 Java EE 技術(shù)的方方面面。Spring 框架是由于軟件開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的,是一個(gè)開(kāi)源框架。
Spring 框架的用途不僅限于服務(wù)器端的開(kāi)發(fā),從簡(jiǎn)單性、可測(cè)試性和松耦合性角度而言,絕大部分 Java 應(yīng)用都可以從 Spring 框架中受益。
對(duì) Spring 框架的幾點(diǎn)說(shuō)明:
· 目的:解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性。
· 目標(biāo):Java EE 技術(shù)更容易使用,并促進(jìn)良好編程習(xí)慣的養(yǎng)成。
· 功能:使用基本的 JavaBean 代替 EJB,并提供更多的企業(yè)應(yīng)用功能。
· 范圍:任何 Java 應(yīng)用。
Spring 框架是一個(gè)輕量級(jí)控制反轉(zhuǎn)和面向切面的容器框架,它主要作為依賴注入容器和 AOP 實(shí)現(xiàn)存在,還提供了聲明式事務(wù)、對(duì) DAO 層的支持等簡(jiǎn)化開(kāi)發(fā)的功能。
Spring 框架可以很方便地與 Spring MVC、Struts 2、MyBatis、Hibernate 等框架集成,其中大名鼎鼎的 SSM 集成框架指的就是基于 Spring MVC + Spring + MyBatis 的技術(shù)框架,使用這個(gè)集成框架能使應(yīng)用程序更加健壯、穩(wěn)固、輕巧和優(yōu)雅,這也是當(dāng)前流行的 Java Web 技術(shù)框架。
二、Spring MVC 框架
Spring MVC 框架屬于 SpringFrameWork 的后續(xù)產(chǎn)品,已經(jīng)融合在 Spring Web Flow 中,是結(jié)構(gòu)清晰的 MVC Model2 的實(shí)現(xiàn)。
Spring 框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊,并且擁有高度的可配置性,支持多種視圖技術(shù)。它還可以進(jìn)行定制化開(kāi)發(fā),使用相當(dāng)靈活。
此外,Spring 框架整合 Spring MVC 框架是無(wú)縫集成,這是一個(gè)高性能的架構(gòu)模式,已越來(lái)越廣泛地應(yīng)用于互聯(lián)網(wǎng)應(yīng)用的開(kāi)發(fā)中。當(dāng)使用 Spring 框架進(jìn)行 Web 開(kāi)發(fā)時(shí),可以選擇 Spring MVC 框架或集成其他 MVC 的開(kāi)發(fā)框架,如 Struts 1、Struts 2等。
三、MyBatis 框架
MyBatis 框架是一個(gè)優(yōu)秀的數(shù)據(jù)持久層框架,可在實(shí)體類和 SQL 語(yǔ)句之間建立映射關(guān)系,是一種半自動(dòng)化的 ORM 實(shí)現(xiàn)。
Mybatis 的封裝性要低于 Hibernate 框架,且性能優(yōu)異、簡(jiǎn)單易學(xué),因此應(yīng)用較為廣泛。
MyBatis 框架本是 Apache 的一個(gè)開(kāi)源項(xiàng)目 iBatis,2010 年,這個(gè)項(xiàng)目由 Apache software foundation 遷移到 Google code,并且改名為“MyBatis”;2013 年 11 月它遷移到 Github。
“iBatis”一詞來(lái)源于“internet”和“abatis”的組合,它是一個(gè)基于 Java 的持久層框架,其框架包括 SQL Maps 和 Data Access Objects。
四、Hibernate 框架
Hibernate 框架不僅是一個(gè)優(yōu)秀的持久化框架,也是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架。它對(duì) JDBC 進(jìn)行了輕量級(jí)的對(duì)象封裝,將 POJO 與數(shù)據(jù)庫(kù)表建立映射關(guān)系,形成一個(gè)全自動(dòng)的 ORM 框架。
Hibernate 框架可以自動(dòng)生成 SQL 語(yǔ)句,且自動(dòng)執(zhí)行,使 Java 程序員可以隨心所欲地使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。
Hibernate 框架還可以應(yīng)用在任何使用 JDBC 的場(chǎng)合:
· 可以在 Java 的客戶端程序使用;
· 也可以在 Servlet/JSP 的 Web 應(yīng)用中使用;
· 最具革命意義的是,Hibernate 框架可以在應(yīng)用 EJB 的 Jave EE 架構(gòu)中取代 CMP,以完成數(shù)據(jù)持久化的重任。
Hibernate 框架已經(jīng)成為當(dāng)前主流的數(shù)據(jù)庫(kù)持久化框架,并被廣泛應(yīng)用。
五、Struts 2 框架
Struts 2 框架以 WebWork 的優(yōu)秀設(shè)計(jì)思想為核心,吸收 Struts 框架的部分優(yōu)點(diǎn),提供了一個(gè)更加簡(jiǎn)潔的基于 MVC 設(shè)計(jì)模式實(shí)現(xiàn)的 Web 應(yīng)用程序框架,它本質(zhì)上相當(dāng)于一個(gè) Servlet。
在 MVC 設(shè)計(jì)模式中,Struts 2 框架作為控制器來(lái)建立模型與視圖的數(shù)據(jù)交互。
Struts 2 框架是 Struts 的下一代產(chǎn)品,是在 Struts 1 和 WebWork 技術(shù)的基礎(chǔ)上進(jìn)行合并的創(chuàng)新。它采用攔截器的機(jī)制來(lái)處理用戶的請(qǐng)求,可使業(yè)務(wù)邏輯控制器與 Servlet API 完全脫離開(kāi),所以也可以理解是 WebWork 的更新產(chǎn)品。
Struts 2 框架充分利用了其他 MVC 框架的經(jīng)驗(yàn)和教訓(xùn),使整個(gè)框架更加清晰和靈活。
上述就是關(guān)于五大主流Java Web開(kāi)發(fā)框架的全部?jī)?nèi)容介紹,想了解更多關(guān)于Java Web開(kāi)發(fā)的信息,請(qǐng)繼續(xù)關(guān)注中培偉業(yè)。