【SSH框架初瞭解】
前言
最近開始進入了Java專案的學習,開始做一個網上商城的專案,在專案中接觸到了SSH框架,今天這篇部落格,小編來淺談一下SSH框架,也希望給大家帶來幫助!
核心
總述
Struts2體系結構SSH框架,即:SSH即Struts+Spring+Hibernate,是典型的J2EE三層結構,分為表現層、中間層和資料訪問層。三層體系將資料表現、業務邏輯和資料訪問分開。業務邏輯、資料訪問、許可權攔截及合法性校驗等工作放在中間層處理。客戶端不直接與資料庫互動,而是通過元件與中間層建立連線,再由中間層與資料庫打交道。
Hibernate框架:Struts2是一個具有很好實用價值的Web MVC框架,它減少了直接運用MVC模式來開發Web應用的週期。重要的是它是一個開源框架,方便開發者深入研究瞭解其機制,越來越廣泛的接受和應用。而且它提供一個好的控制器和一套定製的標籤庫Taglib,著力在控制器和檢視上的應用,完美的體現了MVC設計思想。提供集中統一的許可權控制、國際化提示和訊息、輸入校驗和日誌記錄等技術支援。另外,它對其他技術和框架具有良好的融合性。如能與EJB、JDBC和Hibernate等資料庫訪問技術相結合,利用整合技術減少資料庫的工作量。
Spring框架介紹:ORM(物件/關聯式資料庫對映)
物件關係對映(ObjectRelational Mapping,簡稱ORM)是一種為了解決物件導向與關聯式資料庫存在的互不匹配的現象的技術。它完成了物件導向的程式語言到關係型資料庫的對映㈣。ORM框架可以看成應用程式和資料庫之間的橋樑,通過它,我們可以以物件導向的方式建模、操作,易用、易理解,同時也可以利用關係型資料庫系統對資料庫訪問操作的一些優勢。以物件導向的方式操作持久化物件,而ORM框架負責轉換成對應的SQL(結構化查詢語言)操作。
Hibernate概述
Hibernate是輕量級Java EE應用的持久層解決方案,是流行的ORM框架,它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以物件導向的方式來操縱資料庫。Hibernate不僅管理Java類到資料庫表的對映,還提供資料查詢和獲取資料的操作,可以減少人工使用SQL和JDBC處理資料的時間。
Hibernate體系結構
Hibernate實際上是一個提供資料庫服務的中介軟體。Hibernate的持久化解決方案將使用者從繁瑣的JDBC訪問中解脫出來,底層資料庫連線獲取,資料訪問的實現、事務控制都無須使用者關心,這種體系結構,將應用層從底層的JDBC/JTA API中抽象出來。Hibernate體系結構如圖(注:該圖來自於Hibernate官方參考文件)所示。
Spring是從實際開發中抽取出來的開源框架,為企業的開發提供一個輕量級的解決方案。該解決方案包括:基於Ioc(控制反轉)的核心機制,以及AOP(面向切面程式設計)的思想,能與多種持久層技術的整合,是優秀的Web MVC框架等。Spring致力於Java EE應用各層的解決方案而不是僅僅專注於某一層的方案,它貫穿表現層、業務層、持久層,降低各層元件的耦合度,實現軟體各層的解耦.
輕量級
劃分一個應用是否屬於輕量級還是重量級,主要看它使用了多少服務,使用的服務越多,容器要為普通java物件做的工作就越多,必然會影響到應用的釋出時間或者是執行效能。對於Spring容器,它提供了很多服務,但這些服務預設是關閉的,應用對需要的服務可以現用現拿。而且,Spring是無侵入性的可擴充套件框架,Spring應用中的物件不依賴Spring具體的類。
Ioc(控制反轉)
所謂的控制反轉就是應用本身不負責依賴物件的建立及維護,依賴物件的建立及維護是由外部容器負責的。這樣控制權就由應用轉移到了外部容器,控制權的轉移就是所謂反轉。
總結
具體細節在下篇文章繼續介紹,歡迎大家多多提意見。
相關文章
- 詳解SSH 框架中物件呼叫流程框架物件
- 瞭解Vuex方法的使用初級篇Vue
- [轉]SSH框架簡介框架
- 【SSH框架】系列之 Spring 整合 Hibernate 框架框架Spring
- 一文快速瞭解Java集合框架Java框架
- 手遊PC發行那些事:Steam初瞭解
- 初識Python,我想你應該瞭解這些...Python
- Spring Boot第五彈,WEB開發初瞭解~Spring BootWeb
- 一篇文章瞭解RPC框架原理RPC框架
- Python哪些框架最常見?你都瞭解嗎?Python框架
- 您應該瞭解的三大LLM框架框架
- 第一天,初瞭解銳捷網路
- Sanic框架初識框架
- 初識MyBatis框架MyBatis框架
- 對laravel框架你瞭解多少,為什麼說是優雅的框架Laravel框架
- Docker 入門概述(適合初學者瞭解相關概念)Docker
- AbstractQueuedSynchronizer(AQS)抽絲剝繭深入瞭解JUC框架原理AQS框架
- 五分鐘帶你瞭解Django框架設計思想!Django框架
- SSH框架下的分頁查詢框架
- 萬字長文帶你瞭解Java日誌框架使用Java日誌框架Java框架
- [譯文] 初學者應該瞭解的資料結構: Tree資料結構
- [譯文] 初學者應該瞭解的資料結構: Graph資料結構
- 初步瞭解Express(基於node.js的後端框架)ExpressNode.js後端框架
- 【Java】若以框架(ruoyi-master)——10.BaseController原始碼瞭解Java框架ASTController原始碼
- InterlliJ IDEA搭建一個完整的ssh框架Idea框架
- 手把手教你搭建SSH框架(Eclipse版)框架Eclipse
- Django(1) - 初識Django框架Django框架
- git ssh配置詳解Git
- 作為Java初學者,你瞭解Java的應用範圍嗎?Java
- 產品經理必瞭解的3個app技術框架APP框架
- 深入瞭解這些Java框架,看看哪個更適合你?Java框架
- 深度框架 MXNet/Gluon 初體驗框架
- Python Fabric ssh 配置解讀Python
- 軟體開發趨勢:敏捷開發框架,瞭解一下?敏捷框架
- web前端乾貨:詳細瞭解JS前端開發框架都有哪些Web前端JS框架
- WXSTranistion 初解
- MediaRecord初解
- MediaExtractor初解
- CQRS框架(nodejs的DDD開發落地框架)初識感想框架NodeJS