spring缺省會在容器初始化的過程中,解析xml,並將單例的bean建立並儲存到map中,這樣的機制在bean比較少時問題不大,但一旦bean非常多時,spring需要在啟動的過程中花費大量的時間來建立bean 花費大量的空間儲存bean,但這些bean可能很久都用不上,這種在啟動時在時間和空間上的浪費顯得非常的不值得。
所以spring提供了懶載入機制。所謂的懶載入機制就是可以規定指定的bean不在啟動時立即建立,而是在後續第一次用到時才建立,從而減輕在啟動過程中對時間和記憶體的消耗。
懶載入機制只對單例bean有作用,對於多例bean設定懶載入沒有意義。
1.為指定bean配置懶載入
<?xml version="1.0" encoding="utf-8"
?>
<
beans
xmlns
=""xmlns:xsi
=""xsi:schemalocation
=" /spring-beans-3.2.xsd"
>
<
bean
id="user"
class
="com.spring.demo.user"
lazy-init
="true"
>
bean
>
beans
>
2.為全域性配置懶載入
<?xml version="1.0" encoding="utf-8"
?>
<
beans
xmlns
=""xmlns:xsi
=""xsi:schemalocation
=" /spring-beans-3.2.xsd"
default-lazy-init
="true"
>
<
bean
id="user"
class
="com.spring.demo.user"
>
bean
>
beans
>
注意:如果同時設定全域性和指定bean的懶載入機制,且配置不相同,則對於該bean區域性配置覆蓋全域性配置。
Spring的懶載入機制
今天覆習了spring的知識點,總結一下經常大家經常問到的spring的懶載入機制 spring缺省會在容器初始化的過程中,解析xml,並將單例的bean建立並儲存到map中,這樣的機制在bean比較少時問題不大,但一旦bean非常多時,spring需要在啟動的過程中花費大量的時間來建立bean 花...
spring的懶載入和非懶載入
因為這樣在配置中的任何錯誤就會即刻被發現 否則的話可能要花幾個小時甚至幾天 有時候這種預設處理可能並不是 在xml配置檔案中,延遲初始化將通過元素中的 lazy init 屬性來進行控制。例如 html view plain copy beanid lazy class com.foo.expens...
Spring中懶載入與非懶載入
在xml配置檔案中,延遲初始化將通過元素中的lazy init屬性來進行控制。例如 在容器層次中通過在元素上使用 default lazy init 屬性來控制延遲初始化也是可能的。如下面的配置 在同乙個檔案中裡面設定的優先順序大於裡設定的優先順序 immediately lazy immediat...