1.ssh(Spring+Struts2+Hibernate)
Spring
簡介:是一個輕量級的ioc與aop容器框架,是框架與框架之間的粘合劑。(事務集成,框架集成)
IOC:控制反轉,依賴注入。依賴對象的創建和維護交給了Spring容器管理。
優點:節約內存,性能提高。
例子:比如在登錄的時候 ,每次登錄需要new一個user對象,角色對象。每次new一個對象都會佔用內存,如果我上萬個人登錄那麼上萬個對象佔用內存。但是ioc就很好的解決了這個問題,它的底層是單例的,也就是說每一次注入的對象還是那一個。
注入方式:
setter注入,
構造注入,constructor-arg ref="user"></constructor-arg> ref定義其他標籤name的值
接口注入(一般不建議使用有侵入性)。
AOP:面向切面編程。 本質是攔截器 管理事務 日誌 權限,通知等
簡單來說三點構成一線,線構成面 ,點就是開啓事務 ,線就是增刪改,面就是關閉事務
Struts2
簡介:
hibernate
簡介:將數據庫的操作裝換爲java對象的操作,從而簡化開發;
1.緩存:
一級緩存,二級緩存
2.hibernate java中應用對象的狀態
1.臨時態
2. 遊離態
3.持久性
3.Hibernate中getCurrentSession()和openSession()的區別?
getCurrentSession()判斷當前線程是否綁定了session,如果有直接使用,沒有則創建
openSession()則是直接new一個session對象並返回
getCurrentSession()在提交事務會自動關閉而opensession則要手動關閉
2.ssm(Spring+SpringMVC+Mybatis)
SpringMVC
簡介:基於java實現了MVC設計模式的、請求驅動類型的、輕量級WEB框架。
請求流程:
1.用戶發送請求給web服務器 web服務器進行解析,交給對應的DispatcherServlet請求路徑
2.DispatcherServlet根據請求信息以及handlermapping找到對應的處理器handler,在將具體的處理權交給handler
在具體由handlerAdapter對handler進行具體的調用
3.handler對數據處理完之後返回一個modelandview對象給dispatcherservlet
4.dispatcherservlet通過viewresolve將邏輯視圖裝換爲視圖view
5.dispatcherservlet通過model解析出modeladview中的參數進行解析最終返回一個完整的view給客戶端。
Mybatis
簡介:基於java持久層框架(半自動),它支持普通SQL查詢,存儲過程和高級映射的優秀持久層框架。
springboot
ssh與ssm主要區別
1.Struts2與springmvc的區別
Struts | springmvc |
---|---|
StrutsPreparaedAndExcuteFiter | dispatcherservlet |
侵入 | 非侵入性 |
基於類開發 | 基於方法開發 |
2.hibernate與mybatis的區別
hibernate 查詢比較慢性能差 mybatis性能好
hibernate sql語句不需要程序員自己寫開發效率要高 mybatis需要自己編寫sql語句 開發效率慢
兩者均爲ORM框架,但也有一些不同
mybatis | hibernate |
---|---|
輕量級 | 重量級 |
半自動化 | 全自動化 |
sql | hql(但也可以使用sql,但違背了hibernate的初衷) |
擴展性、遷移性比較差 | 縫移植 |
SpringBoot
簡介:簡化Spring應用開發的一個框架,整個spring技術棧的一個大整合,j2ee開發的 一站式解決方案