Spring的@Lazy懶加載注解用法詳細(xì)解析
1、@Lazy 懶加載注解的概念
SpringIoC容器會在啟動的時候?qū)嵗袉螌嵗?bean 。如果我們想要實現(xiàn) Spring 在啟動的時候延遲加載 bean,即在首次調(diào)用bean的時候再去執(zhí)行初始化,就可以使用 @Lazy 注解來解決這個問題。
注意:使用@Lazy的前提是要操作的Bean要使用默認(rèn)的單例模式。
2、@Lazy 懶加載注解作用
使用@Lazy懶加載注解可以減少springIOC容器啟動過程的加載時間。
3、@Lazy 懶加載注解使用示例
3.1 新建配置類TestLazyConfig.java
package com.spring.config; import com.spring.bean.Person; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Component; @Configuration //@Lazy注解作用于類上時,通常與@Component及其衍生Spring注解配合使用。 /*@Component @Lazy*/ public class TestLazyConfig { // @Lazy注解屬性 Value 取值為 true、false 。默認(rèn)為true 表示啟用懶加載。 //false 表示不啟用,基本用不到,如果不啟用的話,不需要加@Lazy注解 // @Lazy注解作用于在類方法上時,通常與@Bean注解配合使用。 @Lazy @Bean public Person person() { System.out.println("測試容器添加Person對象......"); return new Person("小孫", 28, "西安"); } }
3.2 新建測試類 TestLazy.java
package com.spring.test; import com.spring.config.TestLazyConfig; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class TestLazy { public static void main(String[] args) { // @Lazy 注解啟用的時候 不進(jìn)行類初始化, // 不啟用的時候會進(jìn)行類初始化 //控制臺輸出:測試容器添加Person對象...... AnnotationConfigApplicationContext annotationContext = new AnnotationConfigApplicationContext(TestLazyConfig.class); // 第一次獲取Bean對象 會進(jìn)行類初始化 //控制臺輸出:測試容器添加Person對象...... Object person1 = annotationContext.getBean("person"); // 第二次獲取Bean對應(yīng) 不會載進(jìn)行類初始化 Object person2 = annotationContext.getBean("person"); } }
到此這篇關(guān)于Spring的@Lazy懶加載注解用法詳細(xì)解析的文章就介紹到這了,更多相關(guān)@Lazy懶加載注解用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java BeanMap實現(xiàn)Bean與Map的相互轉(zhuǎn)換
這篇文章主要介紹了利用BeanMap進(jìn)行對象與Map的相互轉(zhuǎn)換,通過net.sf.cglib.beans.BeanMap類中的方法來轉(zhuǎn)換,效率極高,本文給大家分享實現(xiàn)代碼,感興趣的朋友一起看看吧2022-11-11SpringBoot定時任務(wù)不執(zhí)行的幾個可能原因及解決方法
這篇文章主要介紹了SpringBoot定時任務(wù)不執(zhí)行的幾個可能原因及解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2023-12-12java如何自定義List中的sort()排序,用于日期排序
這篇文章主要介紹了java如何自定義List中的sort()排序,用于日期排序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11springboot高并發(fā)下提高吞吐量的實現(xiàn)
這篇文章主要介紹了springboot高并發(fā)下提高吞吐量的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11一篇文章帶你了解一些Java反射的學(xué)習(xí)記錄
java反射機制是一個很好用的東西,用它可以解決很多死的東西,因為反射機制的靈活行很大,有了他,我們就不要花太多的時間來寫操做數(shù)據(jù)庫的代碼了,這個可以很大的減少開發(fā)時間,而且代碼的可讀性好2021-09-09