摘要:所以如下這種寫法就是錯誤的,這樣是無法注入的,在使用該變量的時候會導致空指針錯誤依賴注入是依賴方法,靜態(tài)變量不屬于對象,只屬于類。
Spring無法直接給靜態(tài)變量注入值,因為靜態(tài)變量不屬于對象,只屬于類,也就是說在類被加載字節(jié)碼的時候變量已經(jīng)初始化了,也就是給該變量分配內(nèi)存了,導致spring忽略靜態(tài)變量。所以如下這種寫法就是錯誤的,這樣是無法注入的,在使用該變量的時候會導致空指針錯誤:
@Autowired private static IOptionService optionService;
Spring依賴注入是依賴set方法,靜態(tài)變量不屬于對象,只屬于類。解決方法就是加上非靜態(tài)的set方法,如下:
private static IOptionService optionService; @Autowired public void setOptionService(IOptionService optionService) { Commons.optionService = optionService; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/73143.html
摘要:案例對靜態(tài)變量的注入為空案例代碼如下錯誤案例這種方式是不能給靜態(tài)變量注入屬性值的解決方案一注解加在方法上面解決方案二注解因為注解修飾的方法加在順序在構(gòu)造方法之后靜態(tài)變量賦值之前,所 ...
摘要:入門和學習筆記概述框架的核心有兩個容器作為超級大工廠,負責管理創(chuàng)建所有的對象,這些對象被稱為。中的一些術(shù)語切面切面組織多個,放在切面中定義。 Spring入門IOC和AOP學習筆記 概述 Spring框架的核心有兩個: Spring容器作為超級大工廠,負責管理、創(chuàng)建所有的Java對象,這些Java對象被稱為Bean。 Spring容器管理容器中Bean之間的依賴關(guān)系,使用一種叫做依賴...
摘要:的依賴關(guān)系,根據(jù)依賴關(guān)系配置完成之間的裝配。的行為信息,如生命周期范圍及生命周期各過程的回調(diào)函數(shù)。使用該種裝配模式時,優(yōu)先匹配參數(shù)最多的構(gòu)造函數(shù)。如果提供了默認的構(gòu)造函數(shù),則采用否則采用進行自動裝配。 點擊進入我的博客 1 Spring容器與Bean配置信息 Bean配置信息 Bean配置信息是Bean的元數(shù)據(jù)信息,它由一下4個方面組成: Bean的實現(xiàn)類 Bean的屬性信息,如數(shù)...
摘要:如感興趣,可移步手寫之基于動態(tài)創(chuàng)建對象手寫之基于注解動態(tài)創(chuàng)建對象今天將詳細介紹如何手寫依賴注入,在運行過程中如何動態(tài)地為對象的屬性賦值。完成后在中會有相關(guān)的包出現(xiàn)進行注入前需要創(chuàng)建工廠,在運行時從工廠中取出對象為屬性賦值。 前兩篇文章介紹了關(guān)于手寫Spring IOC控制反轉(zhuǎn),由Spring工廠在運行過程中動態(tài)地創(chuàng)建對象的兩種方式。如感興趣,可移步: 手寫Spring之IOC基于xml...
閱讀 1132·2021-11-24 10:21
閱讀 2573·2021-11-19 11:35
閱讀 1673·2019-08-30 15:55
閱讀 1301·2019-08-30 15:54
閱讀 1203·2019-08-30 15:53
閱讀 3512·2019-08-29 17:21
閱讀 3314·2019-08-29 16:12
閱讀 3424·2019-08-29 15:23