教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

什么是框架?Java開發(fā)中常用的框架有哪些?

更新時(shí)間:2022年06月01日15時(shí)22分 來源:傳智教育 瀏覽次數(shù):

什么是框架

  “框架(Framework)"一詞最早出現(xiàn)在建筑領(lǐng)域,指的是在建造房屋前期構(gòu)建的建筑骨架。在編程領(lǐng)域,框架就是應(yīng)用程序的骨架,開發(fā)人員可以在這個(gè)骨架上加入自己的東西,搭建出符合自己需求的應(yīng)用系統(tǒng)。

軟件框架

  軟件框架是一種通用的、可復(fù)用的軟件環(huán)境,它提供特定的功能,促進(jìn)軟件應(yīng)用、產(chǎn)品和解決方案的開發(fā)工作。軟件框架會(huì)包含支撐程序、編譯器、代碼、庫(kù)、工具集以及API,它把所有這些部件匯集在一起,以支持項(xiàng)目或系統(tǒng)的開發(fā)。

  軟件框架可以形象地比喻成我們?cè)谏w樓房時(shí),用梁+柱子+承重墻搭建起來的鋼筋混凝土結(jié)構(gòu)的建筑框架,它是整個(gè)建筑的骨架。而實(shí)現(xiàn)的軟件功能,也就像在這個(gè)建筑框架中所要實(shí)現(xiàn)的不同類型、功能的房子,比如健身房、商場(chǎng)、酒店、飯店等。

早期Java EE開發(fā)弊端

  在早期Java EE應(yīng)用開發(fā)中,企業(yè)開發(fā)人員是利用JSP+Servlet技術(shù)進(jìn)行軟件應(yīng)用和系統(tǒng)開發(fā)的,使用該技術(shù)會(huì)有以下兩個(gè)弊端。

  (1)軟件應(yīng)用和系統(tǒng)可維護(hù)性差如果全部采用JSP+Servlet技術(shù)進(jìn)行軟件的開發(fā),因?yàn)榉謱硬粔蚯逦瑯I(yè)務(wù)邏輯的實(shí)現(xiàn)無法單獨(dú)分離出來,從而造成系統(tǒng)后期維護(hù)困難。

  (2)代碼重用性低

  企業(yè)希望以最快的速度,開發(fā)出最穩(wěn)定、最實(shí)用的軟件。如果系統(tǒng)不使用框架,每次開發(fā)系統(tǒng)都需要重新開發(fā),需要投入大量的人力物力,并且重新開發(fā)的代碼可能具有更多的漏洞,這就增加了系統(tǒng)出錯(cuò)的風(fēng)險(xiǎn)。

框架優(yōu)勢(shì)

  相比于使用JSP+Servlet技術(shù)進(jìn)行軟件開發(fā),使用框架有以下優(yōu)勢(shì)。

  1.提高開發(fā)效率:如果采用成熟、穩(wěn)健的框架,那么一些通用的基礎(chǔ)工作,如事務(wù)處理、安全性、數(shù)據(jù)流控制等都可以交給框架處理,程序員只需要集中精力完成系統(tǒng)的業(yè)務(wù)邏輯設(shè)計(jì),降低了開發(fā)難度。

  2.提高代碼規(guī)范性和可維護(hù)性:當(dāng)多人協(xié)同進(jìn)行開發(fā)時(shí),代碼的規(guī)范性和可維護(hù)性就變得非常重要。成熟的框架都有嚴(yán)格的代碼規(guī)范,能保證團(tuán)隊(duì)整體的開發(fā)風(fēng)格統(tǒng)一。

  3.提高軟件性能:使用框架進(jìn)行軟件開發(fā),可以減少程序中的冗余代碼。例如,使用Spring框架開發(fā)時(shí),通過Spring的IOC特性,可以將對(duì)象之間的依賴關(guān)系交給Spring控制,方便解耦,簡(jiǎn)化開發(fā);使用MyBatis框架開發(fā)時(shí),MyBatis提供了XML標(biāo)簽,支持動(dòng)態(tài)的SQL,開發(fā)人員無需在類中編寫大量的SQL語(yǔ)句,只需要在配置文件中進(jìn)行配置即可。

Spring框架

  Spring是一個(gè)開源框架,是為了解決企業(yè)應(yīng)用程序開發(fā)復(fù)雜性而創(chuàng)建的,其主要優(yōu)勢(shì)之一就是分層架構(gòu)。Spring提供了更完善的開發(fā)環(huán)境,可以為POJO(Plain Ordinary Java Object,普通Java對(duì)象)對(duì)象提供企業(yè)級(jí)的服務(wù)。

Spring框架

Spring MVC框架

  Spring MVC是一個(gè)Web開發(fā)框架,可以將它理解為Servlet。在MVC模式中,Spring MVC作為控制器(Controller)用于實(shí)現(xiàn)模型與視圖的數(shù)據(jù)交互,是結(jié)構(gòu)最清晰的。

  Spring MVC框架采用松耦合、可插拔的組件結(jié)構(gòu),具有高度可配置性,與其他的MVC框架相比,具有更強(qiáng)的擴(kuò)展性和靈活性。

MyBatis框架

  MyBatis是Apache的一個(gè)開源項(xiàng)目iBatis,2010年這個(gè)項(xiàng)目由Apache Software Foundation遷移到了Google Code,并且改名為MyBatis,2013年11月MyBatis又被遷移到Github。

  MyBatis是一個(gè)優(yōu)秀的持久層框架,它可以在實(shí)體類和SQL語(yǔ)句之間建立映射關(guān)系,是一種半自動(dòng)化的ORM(Object/Relation Mapping,即對(duì)象關(guān)系映射)實(shí)現(xiàn)。MyBatis封裝性要低于Hibernate,但它性能優(yōu)越、簡(jiǎn)單易學(xué),在互聯(lián)網(wǎng)應(yīng)用的開發(fā)中被廣泛使用。

MyBatis框架

Spring Boot框架

  Spring Boot框架是Pivotal團(tuán)隊(duì)基于Spring開發(fā)的全新框架,其設(shè)計(jì)初衷是為了簡(jiǎn)化Spring的配置,使用戶能夠構(gòu)建獨(dú)立運(yùn)行的程序,提高開發(fā)效率。

  Spring Boot框架本身并不提供Spring框架的核心特性及擴(kuò)展功能,它只是用于快速、敏捷地開發(fā)新一代基于Spring框架的應(yīng)用,同時(shí)它還集成了大量的第三方類庫(kù)(如Jackson、JDBC、Redis等),使用戶只需少量配置就能完成相應(yīng)功能。

spring cloud框架

  Spring Cloud是一系列框架的有序集合,為開發(fā)人員構(gòu)建微服務(wù)架構(gòu)提供了完整的解決方案,它利用Spring Boot的開發(fā)便利性巧妙地簡(jiǎn)化了分布式系統(tǒng)的開發(fā)。例如,配置管理、服務(wù)發(fā)現(xiàn)、控制總線等操作,都可以使用Spring Boot做到一鍵啟動(dòng)和部署??梢哉f,Spring Cloud將Spring Boot框架進(jìn)行了再封裝,屏蔽掉了復(fù)雜的配置和實(shí)現(xiàn)原理,具有簡(jiǎn)單易懂、易部署和易維護(hù)等特點(diǎn)。

Spring Cloud



0 分享到:
和我們?cè)诰€交談!