最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

@Autowired注入為null的原因與解決方法

 更新時(shí)間:2023年09月25日 11:38:14   作者:我是周爍杰  
我們經(jīng)常會(huì)通過(guò)@Autowired注解將某個(gè)類(lèi)注到另一個(gè)類(lèi)中,但是會(huì)發(fā)現(xiàn)注不進(jìn)去,報(bào)NULL,所以本文就給大家分析了@Autowired 注入為null 的原因與解決方法,需要的朋友可以參考下

前言

我們經(jīng)常會(huì)通過(guò)@Autowired注解將某個(gè)類(lèi)注到另一個(gè)類(lèi)中,但是會(huì)發(fā)現(xiàn)注不進(jìn)去,報(bào)NULL。

原因

可能的原因有一下幾種:

(1)該類(lèi)沒(méi)有托管給spring 管理

一般在類(lèi)的上面添加@Component 就可以了

(2)你的這個(gè)類(lèi)有被new出來(lái)的實(shí)例的,new 過(guò)的對(duì)象不會(huì)交給Spring容器管理 所以里面的 service或者dao注入不進(jìn)來(lái)。一般是指引用某些框架,你是繼承某個(gè)接口,但是這些框架默認(rèn)new過(guò)這個(gè)方法,比如MVC攔截的HandlerInterceptor類(lèi)。

如果要new的這個(gè)類(lèi)里有想用@autowired 自動(dòng)注入的內(nèi)容,則最好不要去new這個(gè)類(lèi),否則自動(dòng)注入無(wú)效,為null; 

解決方法

解決辦法:要用這個(gè)類(lèi)的時(shí)候,這個(gè)類(lèi)也用@autowired 自動(dòng)注入

有時(shí)候你確實(shí)需要在這個(gè)new 的類(lèi)去注入某些類(lèi),但是用@Autowired 又注入為null,這時(shí)候我們需要手動(dòng)去弄Spring容器中的Bean實(shí)現(xiàn)ApplicationContextAware接口。

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component
public class BeanUtils implements ApplicationContextAware  {
    protected static ApplicationContext applicationContext ;
    @Override
    public void setApplicationContext(ApplicationContext arg0) throws BeansException {
        if (applicationContext == null) {
            applicationContext = arg0;
        }
    }
    public static Object getBean(String name) {
        //name表示其他要注入的注解name名
        return applicationContext.getBean(name);
    }
    /**
     * 拿到ApplicationContext對(duì)象實(shí)例后就可以手動(dòng)獲取Bean的注入實(shí)例對(duì)象
     */
    public static <T> T getBean(Class<T> clazz) {
        return applicationContext.getBean(clazz);
    }
}

案列:

SysDictService sysDictService = BeanUtils.getBean(SysDictService.class);

以上就是@Autowired注入為null的原因與解決方法的詳細(xì)內(nèi)容,更多關(guān)于@Autowired注入為null的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

监利县| 铜陵市| 芦山县| 资源县| 类乌齐县| 焉耆| 山阳县| 如皋市| 公安县| 建宁县| 宁城县| 宽甸| 石门县| 南川市| 个旧市| 南陵县| 永清县| 江永县| 保山市| 西平县| 江门市| 镇安县| 姜堰市| 沁源县| 淅川县| 彭州市| 合阳县| 保康县| 同德县| 大丰市| 法库县| 资溪县| 四会市| 隆回县| 东海县| 长泰县| 郧西县| 池州市| 广丰县| 湖北省| 西藏|