Hibernate及Spring的框架簡述

2021-07-14 17:28:34 字數 1215 閱讀 1695

最近在複習一些框架的概念,總結了一下,談一談我的理解。。。。。。。。。。

hibernate是乙個開放源**的物件關係對映框架,它對jdbc進行了非常輕量級的物件封裝,大大簡化了資料訪問層繁瑣的重複性**。

1.hibernate中的三種狀態:

臨時狀態(transient object):只是new了物件,但是物件沒有立即被持久化,沒有和資料庫進行任何的關聯

持久化狀態(persistent object):與資料庫進行關聯,執行了session的操作

游離狀態(detached object):session關閉之後,持久化物件就變為游離的物件不再受session管理。

2.hibernate的**快取:

一級快取(session級別的快取):session關閉後,快取就消失了。hibernate發出一條查詢,若快取中沒有,則從資料庫中查,查到之後放入快取

二級快取(sessionfactory級別快取):hibernate沒有提供相應的二級快取元件,所以需要額外的二級快取包ehcache,hibernate二級快取存的僅僅是物件,當一級快取關閉之後,一級快取就失效了,若這個物件配置了二級快取,就算session關閉,hibernate會從二級快取(sessionfactory)中查到資料。

**快取(sessionfactory級別快取)

3. hibernate中的懶載入:

hibernate中的懶載入又稱延遲載入。那麼,我們為什麼要用懶載入呢?因為在我們訪問的資料量很多的時候,用快取就不太合適,有考慮到記憶體容量是有限的,為了減少併發量,減少系統資源的消耗,讓資料在需要的時候在載入,這時候就用到了懶載入。提過了效能。

spring是乙個粘合劑,相當於乙個大管家,他的兩大核心機制是ioc(inversion of controller)控制反轉,又稱依賴注入(depency injection)及aop面向切面程式設計。

對於ioc的理解:

控制反**物件控制權的轉移,由傳統的在程式中控制依賴轉移到由容器來控制;

依賴注入:將相互依賴的物件分離,在spring配置檔案中描述他們的依賴關係。

對於aop的理解:

面向切面,是一種程式設計思想,oop的延續。將系統中非核心的業務提取出來,進行單獨處理。比如事務、日誌和安全等。

spring 的aop和ioc都是為了解決系統**耦合度過高的問題。使**重用度高、易於維護。

通過HelloSpring了解Spring的IOC

在dao層建立乙個hello實體類。package dao public class hello public void setstr string str override public string tostring 然後要輸出就要建立物件,在spring中,有乙個ioc池,需要使用物件就在池裡...

1019 數字黑洞(sscanf和sprintf)

給定任乙個各位數字不完全相同的 4 位正整數,如果我們先把 4 個數字按非遞增排序,再按非遞減排序,然後用第 1 個數字減第 2 個數字,將得到乙個新的數字。一直重複這樣做,我們很快會停在有 數字黑洞 之稱的 6174,這個神奇的數字也叫 kaprekar 常數。例如,我們從6767開始,將得到 7...

SpringMVC學習筆記之與Spring的關係

需要進行 spring 整合 springmvc 嗎 還是否需要再加入 spring 的 ioc 容器嗎 是否需要再 web.xml 檔案中配置啟動 spring ioc 容器 contextloaderlistener 嗎 需要 通常情況下,類似於資料來源 事務 整合其它框架都是放在spring ...