Lazy Init懶載入總結

2021-10-11 02:36:04 字數 1776 閱讀 7137

1.servelt的 init 持載入: 無參構造:在容器啟動的時候對servlet進行初始化,呼叫init方法,且只呼叫一次

有參構造:在容器啟動的時候不對servlet進行初始化,對該servlet第一次請求的時候才進行初始化init方法呼叫

2.spring 的bean xml解析遲載入:

spring缺省會在容器初始化的過程中,解析xml或者註解,建立配置為單例模式的bean,並儲存到乙個map中

面對大量bean物件建立的時候,使用懶載入機制,就是說規定bean不在啟動的時候立即建立,而是在第一次呼叫到的時候才建立,從而減輕對時間和記憶體的消耗

注意:懶載入支隊單例bean起作用 隊友多例bean設定懶載入沒有意義,因為多例bean本來就是在使用時才建立的

lazy-init=「true」 單獨某個bean懶載入

default-lazy-init=「true」 全域性懶載入

3.js前端的懶載入

懶載入首屏載入,技術上現實其中要用的技術就是懶載入–到可視區域再載入。

spring lazyload 遲載入生命週期

兩種情況

1一、什麼是懶載入

spring缺省會在容器初始化的過程中,解析xml或註解,建立配置為單例的bean並儲存到乙個map中,這樣的機制在bean比較少時問題不大,但一旦bean非常多時,spring需要在啟動的過程中花費大量的時間來建立bean ,花費大量的空間儲存bean,但這些bean可能很久都用不上,這種在啟動時在時間和空間上的浪費顯得非常的不值得。

所以spring提供了懶載入機制。所謂的懶載入機制就是可以規定指定的bean不在啟動時立即建立,而是在後續第一次用到時才建立,從而減輕在啟動過程中對時間和記憶體的消耗。

懶載入機制只對單例bean有作用,對於多例bean設定懶載入沒有意義,因為多例bean本來就是在使用時才建立的。

二、懶載入配置方式

1、xml配置

在xml檔案裡面,可以通過配置 lazy-init="true"來啟用懶載入,。如下面的配置,設定cart啟用懶載入,這樣,在容器啟動的時候,就不會立即建立bean cart,直到第一次使用的時候才會建立。

<?xml version="1.0" encoding="utf-8"?>

上面是單獨設定某個bean的懶載入,我們還可以為全域性配置懶載入,如下面的**所示。
<?xml version="1.0" encoding="utf-8"?>

注意,如果同時設定全域性和指定bean的懶載入機制,且配置不相同,則對於該bean區域性配置會覆蓋全域性配置。
2、註解配置(@lazy)

在實際開發中,我們會大量用到註解的方式來配置bean,所以除了會用xml方式啟用懶載入外,還應該會通過註解啟用懶載入。測試**如下:

乙個實體類book:
package ztt.lazy;

package ztt.lazy;

然後,我們獲取這個bean,修改**如下:

@test

public void test()

列印結果:

可以看到,建立容器的時候,沒有建立book對像,直到第一次使用的時候才建立。

@lazy 的屬性value 取值有 true 和 false 這兩個, 預設值為 true。true 表示使用 延遲載入, false 表示不使用。

namespace和別名沒有關係

Spring中的懶載入 lazy init

lazy init 懶載入 表示該bean在容器初始化的時候不進行初始化。例如 role1 class com.fz.entity.role lazy init true 以上配置表示 spring容器在初始化的時候不會初始化role1這個bean,當配置上lazy init true之後,表示該b...

spring 懶載入 詳述lazy init作用

原因 就是當我們要訪問的資料量過大時,明顯用快取不太合適,因為記憶體容量 有限 為了減少併發量,減少系統資源 的消耗,我們讓資料在需要的時候才進行載入,這時我們就用到了懶載入。所謂懶載入 lazy 就是延時載入,延遲載入 在spring的ioc容器中,可以通過設定來設定是否為懶載入模式,懶載入的意思...

mysql懶載入 mybatis懶載入

1.概念 懶載入就是按需載入,我們需要什麼的時候再去進行什麼操作。而且先從單錶查詢,需要時再從關聯表去關聯查詢,能很大提高資料庫效能,因為查詢單錶要比關聯查詢多張表速度要快。在mybatis中,resultmap可以實現高階對映 使用association collection實現一對一及一對多對映...