spring配置注入service对象成功,但是调用方法就报空指针 online wait!!

kingkingwd 2016-08-05
新人刚入职不久,今天遇到个问题超级困惑,求大神解答,online wait!!
若有大神能帮忙解惑,悬赏50个大洋

项目用的是spring+mybatis+struts框架

在action注入service的set方法中


    public void setBuildingInfoService(BuildingInfoService buildingInfoService) {
        this.buildingInfoService = buildingInfoService;
        if(buildingInfoService==null){
            System.out.println("buildingInfoService注入失败");
        }
        System.out.println("buildingInfoService注入成功");
    }



控制台输出注入成功,这就说明注入成功,

但是到了下面execute方法执行的时候

@Override
    public String execute() throws Exception {
        //获取请求的建筑名主键参数
        String building_name = ServletActionContext.getRequest().getParameter("building_name");
 

   //此处继续测试service,发现此时service已为null
        if(buildingInfoService==null){
            System.out.println("buildingInfoService注入失败");
        }
        System.out.println("buildingInfoService注入成功");


        //调用service层找到该建筑对象 产生空指针异常
        BuildingInfoDataBean bd =      buildingInfoService.getBuildingByBuildingName(building_name);



在执行方法里,service变成了null,百思不得其解,非常困惑,望大神解答!


问了同事,同事说我配置文件有问题,但是具体又找不到

如果是配置文件问题的话service对象会注入成功吗
add2ws 2016-08-15
public void setBuildingInfoService(BuildingInfoService buildingInfoService) {
        this.buildingInfoService = buildingInfoService;
        if(buildingInfoService==null){
            System.out.println("buildingInfoService注入失败");
        }
        System.out.println("buildingInfoService注入成功");
    }




这个注入成功的打印用else包起来再看看
alan3258 2016-08-16
这样看不出问题,把配置文件也发出来看一下
freerambo 2016-08-27
秀逗呢,

你打印成功能放在else里吗? 注入并没有成功
Global site tag (gtag.js) - Google Analytics