JAVA的三大框架是什么?
Java自1995年發(fā)布以來,憑借著其跨平臺(tái)、面向?qū)ο?、泛型編程的特性發(fā)展至今可以說無Java不大廠。目前國內(nèi)所有的大廠或多或少都在使用Java進(jìn)行后端服務(wù)開發(fā)。
一、Java開發(fā)的三大框架
在14年以前,行業(yè)內(nèi)用得最多的Java三大框架是Struts、Spring和Hibernate ,簡稱SSH;14年以后逐步開始采用Spring、SpringMVC和MyBatis,簡稱SSM;而現(xiàn)在Java開發(fā)用得最多的框架其實(shí)是SpringBoot。那么他們具體有什么特點(diǎn)和區(qū)別呢?
1、SSH框架的特點(diǎn)
SSH框架是以Struts框架進(jìn)行MVC分離、控制業(yè)務(wù)跳轉(zhuǎn),同時(shí)使用Hibernate進(jìn)行持久化,最后配合Spring的統(tǒng)一管理進(jìn)行實(shí)現(xiàn)的開發(fā)框架。相對于傳統(tǒng)的J2EE開發(fā)框架來講性能相對較高、資源消耗相對較少。具體優(yōu)勢如下:
- 框架進(jìn)行了代碼分層,將Java代碼和HTML代碼進(jìn)行分層,大大降低了開發(fā)人員的技術(shù)難度,不需要同時(shí)精通Java后端知識和Web前端知識。
- 由于使用了Struts框架進(jìn)行了MVC分離,降低了各層代碼間的耦合度。
- 與Spring的AOP機(jī)制相互獨(dú)立,互不影響。
- 使用SSH框架開發(fā)項(xiàng)目,能夠大大提高項(xiàng)目的開發(fā)效率與開發(fā)質(zhì)量。
- 良好的擴(kuò)展性和維護(hù)性。
java中級教程CRM項(xiàng)目實(shí)戰(zhàn)SSH框架綜合案例_嗶哩嗶哩_bilibili引入SVN版本控制工具,所涉及的技術(shù)點(diǎn)包含:ssh框架整合環(huán)境搭建、hibernate映射關(guān)系配置、hibernate多對多配置的拆分方式、struts2文件上傳、no session問題分析和解決、hibernateTemplate使用、BaseDao抽取、jQuery easyUi的使用https://www.bilibili.com/video/BV1GW411M7dZ?spm_id_from=333.999.0.0
2、SSM框架的特點(diǎn)
SSM框架看著是Spring+SpringMVC+MyBatis三個(gè)框架整合而成的,其實(shí)SpringMVC屬于Spring框架,所以相當(dāng)于SSM框架就是Spring和Mybatis兩個(gè)框架的整合運(yùn)用。那SSM框架的優(yōu)勢又有哪一些呢?
- 對于MVC模式的實(shí)現(xiàn),SpringMvc更加的輕量。
- 由于SpringMvc本身屬于Spring,因此與Spring的配合使用契合度更高。
- Mybatis相對Hibernate更加輕量,同時(shí)將Sql和業(yè)務(wù)代碼進(jìn)行了很好的解耦。
- MyBatis的學(xué)習(xí)門檻更低,相對于傳統(tǒng)的JDBC差距不大,更好入門及掌握。
黑馬程序員最全SSM框架教程|Spring+SpringMVC+MyBatis全套教程(spring+springmvc+mybatis)_嗶哩嗶哩_bilibiliSSM本套視頻是一款當(dāng)前主流的基礎(chǔ)框架組合,Spring和SpringMVC是當(dāng)前企業(yè)開發(fā)必用框架之一,MyBatis則是與數(shù)據(jù)庫交互的持久層框架之一,由于易用性和輕便性,則被大多互聯(lián)網(wǎng)公司所選用。SSM基礎(chǔ)框架的掌握是當(dāng)前企業(yè)開發(fā)最基本的要求,也是其他技術(shù)學(xué)習(xí)和進(jìn)階的必要基礎(chǔ)。https://www.bilibili.com/video/BV1WZ4y1P7Bp?spm_id_from=333.999.0.03、SSH和SSM框架對比
兩個(gè)框架的主要區(qū)別在于兩點(diǎn),第一、MVC分離的實(shí)現(xiàn)方式前者為Struts,后者為SpringMvc;第二、持久層的使用前者為Hibernate,后者為MyBatis。所以這兩個(gè)框架幾乎所有的不同都是由這兩點(diǎn)產(chǎn)生的,那么具體情況是怎樣的呢?
Struts vs SpringMvc
- 由于SpringMvc針對方法進(jìn)行設(shè)計(jì),而Struts針對類進(jìn)行設(shè)計(jì),相對來講SpringMvc的速度相對更快。
- SpringMvc配置更加簡單,可以說完全0配置,開發(fā)效率更高。
- SpringMvc的學(xué)習(xí)門檻更低,使用更簡單。
- SpringMvc擴(kuò)展性更強(qiáng),更靈活。
Hibernate vs MyBatis
- MyBatis更加輕量,學(xué)習(xí)門檻更低,但相對功能全面性來講Hibernate更好。
- 如果你的項(xiàng)目中僅僅使用簡單的增刪改查功能,選用Hibernate會(huì)讓你節(jié)省不少的開發(fā)時(shí)間。反之如果需要使用到較多的sql復(fù)雜語句,則選用MyBatis更加靈活。
- MyBatis默認(rèn)的SQL查詢性能更高,而Hibernate會(huì)進(jìn)行所有字段查詢,性能就相對較低了。
- Hibernate有自己的日志統(tǒng)計(jì)功能,而MyBatis需要使用Log4j實(shí)現(xiàn)。
- MyBatis緩存特性相對Hibernate更高。
根據(jù)上述的對比,不論從學(xué)習(xí)門檻還是使用效率方面考慮
4、SpringBoot框架
SpringBoot框架是基于Spring4.0設(shè)計(jì)的,使用SpringBoot框架進(jìn)行應(yīng)用開發(fā)能夠使用Spring框架所有優(yōu)秀特性,同時(shí)還能夠減少各種復(fù)雜的配置過程,降低各依賴包的沖突、增強(qiáng)系統(tǒng)的穩(wěn)定性。我們可以將SpringBoot框架理解為我們使用SSM框架的一個(gè)腳手架框架使用,使用它能夠非常方便的構(gòu)建我們的應(yīng)用。那SpringBoot框架具體有哪些特點(diǎn)呢:
- 可以非常方便和快速的構(gòu)建Spring相關(guān)應(yīng)用
- 可以快速構(gòu)建可執(zhí)行的Jars和Wars文件
- 內(nèi)嵌了Servlet容器,如Tomcat、Jetty、Undertow
- 使用SpringBoot框架開發(fā)項(xiàng)目,可以讓Spring的配置操作幾乎為零
- SpringBoot框架提供了運(yùn)行時(shí)監(jiān)控功能
- 框架極大的提高了項(xiàng)目開發(fā)和部署的效率
- ……
SpringBoot因?yàn)榫哂泻芏嗟膬?yōu)點(diǎn),目前也是國內(nèi)最火的開發(fā)框架了,
黑馬程序員SpringBoot2全套視頻教程,springboot零基礎(chǔ)到項(xiàng)目實(shí)戰(zhàn)(spring boot2完整版)_嗶哩嗶哩_bilibiliSpringBoot技術(shù)是目前市面上從事JavaEE企業(yè)級開發(fā)過程中使用量最大的技術(shù)。本視頻圍繞SpringBoot技術(shù)由淺入深帶領(lǐng)學(xué)習(xí)者從小白身份入門SpringBoot。經(jīng)過若干個(gè)案例的制作與學(xué)習(xí),全面掌握在企業(yè)級開發(fā)過程中如何使用SpringBoot技術(shù)將市面上各個(gè)層面各個(gè)領(lǐng)域的實(shí)用技術(shù)整合在一起工作,并應(yīng)用于企業(yè)級開發(fā)各個(gè)層面的實(shí)際問題。https://www.bilibili.com/video/BV15b4y1a7yG?spm_id_from=333.999.0.0
總結(jié)
以上是生活随笔為你收集整理的JAVA的三大框架是什么?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 云计算呼叫中心_SaaS云呼叫中心系统只
- 下一篇: python递归面试题_汉诺塔问题其实很