首頁(yè)常見(jiàn)問(wèn)題正文

Java中Spring框架是干什么用的?

更新時(shí)間:2023-09-21 來(lái)源:黑馬程序員 瀏覽量:

  Spring是一個(gè)主流的Java Web框架,該框架是一個(gè)輕量級(jí)的應(yīng)用框架,具有很高的凝聚力和吸引力。Spring框架因其強(qiáng)大的功能以及卓越的性能而受到眾多開(kāi)發(fā)人員的喜愛(ài)。

  Spring是分層的JavaSE/EE full-stack輕量級(jí)開(kāi)源框架,以IoC(Inverse of Control,控制反轉(zhuǎn))和AOP(Aspect Oriented Programming,面向切面編程)為核心,使用基本的JavaBean完成以前只可能由EJB完成的工作,取代了EJB臃腫和低效的開(kāi)發(fā)模式。

  Spring框架采用分層架構(gòu)、根據(jù)不同的功能被劃分成了多個(gè)模塊、這些模塊大體可分為Data Access/Integration、Web、AOP、Aspects、Instrumentation、Core Container和Test,如圖28-1所示。

1695266978476_Spring的體系結(jié)構(gòu).jpg

  圖28-1 Spring的體系結(jié)構(gòu)

  圖28-1中包含了Spring框架的所有模塊,這些模塊可以滿足一切企業(yè)級(jí)應(yīng)用開(kāi)發(fā)的要求,在開(kāi)發(fā)過(guò)程中可以根據(jù)需求有選擇性地使用所需要的模塊。

  在實(shí)際開(kāi)發(fā)中,通常服務(wù)器采用三層體系結(jié)構(gòu),分別為表現(xiàn)層(web)、業(yè)務(wù)邏輯層(service)、持久層(dao)。Spring對(duì)每一層都提供了技術(shù)支持,在表現(xiàn)層提供了與Struts2框架的整合,在業(yè)務(wù)邏輯層可以管理事務(wù)和記錄日志等,在持久層可以整合Hibernate和JdbcTemplate等技術(shù)。從設(shè)計(jì)上看,Spring框架給予了Java程序員更高的自由度,對(duì)業(yè)界的常見(jiàn)問(wèn)題也提供了良好的解決方案,因此,在開(kāi)源社區(qū)受到了廣泛的歡迎,并且被大部分公司作為Java項(xiàng)目開(kāi)發(fā)首選框架。

  Spring具有簡(jiǎn)單、可測(cè)試和松耦合等特點(diǎn),不僅可以用于服務(wù)器端的開(kāi)發(fā),也可以應(yīng)用于任何Java應(yīng)用的開(kāi)發(fā)中。

  Spring框架的主要優(yōu)點(diǎn)具體如下:

  1.方便解耦,簡(jiǎn)化開(kāi)發(fā):

  Spring就是一個(gè)大工廠,可以將所有對(duì)象的創(chuàng)建和依賴關(guān)系的維護(hù)交給Spring管理。

  2.方便集成各種優(yōu)秀框架:

  Spring不排斥各種優(yōu)秀的開(kāi)源框架,其內(nèi)部提供了對(duì)各種優(yōu)秀框架(如Struts2、Hibernate、MyBatis等)的直接支持。

  3.降低Java EE API的使用難度:

  Spring對(duì)Java EE開(kāi)發(fā)中非常難用的一些API(JDBC、JavaMail、遠(yuǎn)程調(diào)用等)都提供了封裝,使這些API應(yīng)用的難度大大降低。

  4.方便程序的測(cè)試:

  Spring支持JUnit4,可以通過(guò)注解方便地測(cè)試Spring程序。

  5.AOP編程的支持:

  Spring提供面向切面編程,可以方便地實(shí)現(xiàn)對(duì)程序進(jìn)行權(quán)限攔截和運(yùn)行監(jiān)控等功能。

  6.聲明式事務(wù)的支持:

  只需要通過(guò)配置就可以完成對(duì)事務(wù)的管理,而無(wú)須手動(dòng)編程。

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!