- SSM輕量級框架應用實戰
- 肖睿 肖靜 董寧
- 1567字
- 2019-03-07 14:02:05
任務1 初識框架技術
1.1.1 強大的框架技術
如何制作一份看上去具有專業水準的PPT文檔呢?一個最簡單的方法就是使用Microsoft PowerPoint的模板功能,如圖1.1所示。

圖1.1 使用PPT模板
使用模板新建出來的文檔已經有了一個PPT的“架子”,我們只需要把必要的信息像填空一樣填寫進去就可以了,如圖1.2所示。

圖1.2 使用PPT模板創建的新文檔
思考:使用PPT模板制作PPT文檔有哪些好處?
使用PPT模板制作PPT文檔的優點如下。
(1)不用考慮布局、排版等問題,提高了效率。
(2)可以專心于PPT的內容,使演講的“質量”更有保障。
(3)新手也可以制作出很專業的幻燈片演講稿。
使用框架構建項目也是基于這樣的考慮。當確定使用哪個框架技術后,就已經有了一個“半成品”,然后在這個半成品里填上內容,工作就完成了。框架技術的優勢如下。
(1)不用再考慮公共問題,框架已經幫我們做好了。
(2)可以專心于業務邏輯,保證核心業務邏輯的開發質量。
(3)結構統一,便于學習和維護。
(4)框架中集成了前人的經驗,可以幫助新手寫出穩定、性能優良而且結構優美的高質量程序。
1.1.2 什么是框架
框架(Framework)是一個提供了可重用的公共結構的半成品。它為我們構建新的應用程序提供了極大的便利,不但提供了可以拿來就用的工具,更重要的是,還提供了可重用的設計。“框架”一詞最早出現在建筑領域,指的是在建造房屋前期構建的建筑骨架(見圖1.3)。對應用程序來說,“框架”就是應用程序的骨架,開發者可以在這個骨架上加入自己的東西,搭建出符合自己需求的應用系統。框架中凝結著前人的經驗和智慧,使用框架,我們就像站在了巨人的肩膀上。

圖1.3 建筑“框架”
Richard Oberg(WebWork的作者和JBoss的創始人之一)說過:“框架的強大之處不是它能讓你做什么,而是它不能讓你做什么。”Richard還強調了框架另一個層面的含義:框架使混亂的東西變得結構化。莎士比亞說:“一千個人眼中有一千個哈姆雷特。”同樣,如果沒有框架的話,一千個人將寫出一千種Servlet+JavaBean+JSP的代碼,而框架則保證了程序結構風格的統一。從企業的角度來說,框架降低了培訓成本和軟件的維護成本。框架在結構統一和創造力之間維持著一個合適的平衡。
1.1.3 當前的主流框架
1.Struts 2框架
Struts 2以WebWork優秀的設計思想為核心,吸收了Struts框架的部分優點,提供了一個更加整潔的基于MVC設計模式實現的Web應用程序框架。它引入了幾個新的框架特性:從邏輯中分離出橫切關注點的攔截器,減少或者消除配置文件,貫穿整個框架的強大表達式語言,支持可變更和可重用的基于MVC模式的標簽API等。Struts 2充分利用了從其他MVC框架學到的經驗和教訓,使整個框架更加清晰、靈活。
2.Hibernate框架
Hibernate是一個優秀的持久化框架,負責簡化將對象數據保存到數據庫中,或從數據庫中讀取數據并封裝到對象的工作。Hibernate通過簡單配置和編碼即可替代JDBC煩瑣的程序代碼。Hibernate已經成為當前主流的數據庫持久化框架,被廣泛應用在實際工作中。
3.Spring框架
Spring也是一個開源框架。它的目標是使現有的Java EE技術更容易使用和養成良好的編程習慣。它是一個輕量級的框架,滲透了Java EE技術的方方面面。它主要作為依賴注入容器和AOP實現存在,還提供了聲明式事務、對DAO層的支持等簡化開發的功能。Spring可以很方便地與Spring MVC、Struts 2、MyBatis、Hibernate等框架集成,大名鼎鼎的SSM集成框架指的就是基于SpringMVC + Spring + MyBatis的技術框架,使用這個集成框架將使我們的應用程序更加健壯、穩固、輕巧和優雅,這也是當前最流行的Java技術框架。
4.Spring MVC框架
Spring MVC是Spring框架提供的構建Web應用程序的全功能MVC模塊,屬于Spring Framework的后續產品,已經融合在Spring Web Flow里面,是結構最清晰的MVC Model 2的實現。它擁有高度的可配置性,支持多種視圖技術,還可以進行定制化開發,相當靈活。此外,Spring整合Spring MVC可以說是無縫集成,是一個高性能的架構模式。現在已越來越廣泛地應用于互聯網應用的開發中。
5.MyBatis框架
MyBatis是一個優秀的數據持久層框架,在實體類和SQL語句之間建立映射關系,是一種半自動化的ORM實現。其封裝性要低于Hibernate,性能優越,并且小巧、簡單易學,應用也越來越廣泛。
- Learning Spring 5.0
- Maven Build Customization
- Java入門很輕松(微課超值版)
- 微服務設計原理與架構
- Apache Mesos Essentials
- Mastering Ext JS
- 算法訓練營:提高篇(全彩版)
- 全棧自動化測試實戰:基于TestNG、HttpClient、Selenium和Appium
- Building Wireless Sensor Networks Using Arduino
- App Inventor 2 Essentials
- Modular Programming with JavaScript
- ASP.NET本質論
- Python人工智能項目實戰
- TensorFlow 2.0深度學習應用實踐
- 軟件測試實驗實訓指南