更新時間:2023-09-21 來源:黑馬程序員 瀏覽量:
Spring是一個主流的Java Web框架,該框架是一個輕量級的應(yīng)用框架,具有很高的凝聚力和吸引力。Spring框架因其強大的功能以及卓越的性能而受到眾多開發(fā)人員的喜愛。
Spring是分層的JavaSE/EE full-stack輕量級開源框架,以IoC(Inverse of Control,控制反轉(zhuǎn))和AOP(Aspect Oriented Programming,面向切面編程)為核心,使用基本的JavaBean完成以前只可能由EJB完成的工作,取代了EJB臃腫和低效的開發(fā)模式。
Spring框架采用分層架構(gòu)、根據(jù)不同的功能被劃分成了多個模塊、這些模塊大體可分為Data Access/Integration、Web、AOP、Aspects、Instrumentation、Core Container和Test,如圖28-1所示。
圖28-1 Spring的體系結(jié)構(gòu)
圖28-1中包含了Spring框架的所有模塊,這些模塊可以滿足一切企業(yè)級應(yīng)用開發(fā)的要求,在開發(fā)過程中可以根據(jù)需求有選擇性地使用所需要的模塊。
在實際開發(fā)中,通常服務(wù)器采用三層體系結(jié)構(gòu),分別為表現(xiàn)層(web)、業(yè)務(wù)邏輯層(service)、持久層(dao)。Spring對每一層都提供了技術(shù)支持,在表現(xiàn)層提供了與Struts2框架的整合,在業(yè)務(wù)邏輯層可以管理事務(wù)和記錄日志等,在持久層可以整合Hibernate和JdbcTemplate等技術(shù)。從設(shè)計上看,Spring框架給予了Java程序員更高的自由度,對業(yè)界的常見問題也提供了良好的解決方案,因此,在開源社區(qū)受到了廣泛的歡迎,并且被大部分公司作為Java項目開發(fā)首選框架。
Spring具有簡單、可測試和松耦合等特點,不僅可以用于服務(wù)器端的開發(fā),也可以應(yīng)用于任何Java應(yīng)用的開發(fā)中。
Spring就是一個大工廠,可以將所有對象的創(chuàng)建和依賴關(guān)系的維護(hù)交給Spring管理。
Spring不排斥各種優(yōu)秀的開源框架,其內(nèi)部提供了對各種優(yōu)秀框架(如Struts2、Hibernate、MyBatis等)的直接支持。
Spring對Java EE開發(fā)中非常難用的一些API(JDBC、JavaMail、遠(yuǎn)程調(diào)用等)都提供了封裝,使這些API應(yīng)用的難度大大降低。
Spring支持JUnit4,可以通過注解方便地測試Spring程序。
Spring提供面向切面編程,可以方便地實現(xiàn)對程序進(jìn)行權(quán)限攔截和運行監(jiān)控等功能。
只需要通過配置就可以完成對事務(wù)的管理,而無須手動編程。