日期:2014-05-17  浏览次数:20760 次

为什么这个地方会出现java.lang.NullPointerException异常

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionContext;

import tarena.service.FeelService;
import tarena.service.impl.FeelServiceImpl;

@Controller
public class ListAction {
@Resource 
        private FeelService feelService;//通过注解依赖注入
public String execute(){
System.out.println(feelService);//这个地方在控制台上显示出来的也是为null
feelService.list();//这里的会出现java.lang.NullPointerException异常

ActionContext.getContext().put("feel","有本事把我传过去");//如果把上面的红色部分去掉的话就可以把这个字符串传到页面上去
return "list";
}
}
异常 java

------解决方案--------------------

 private FeelService feelService = new FeelService();

这样写呢?
------解决方案--------------------
把你xml配置贴出来!!
------解决方案--------------------
加上:
<context:component-scan base-package="tarena.service"/>
<mvc:annotation-driven />
------解决方案--------------------
貌似xml里面没看到service的定义
------解决方案--------------------
lz使用spring的注解来注入bean实例的,出现null的原因是没有正确注入
private FeelService feelService;//通过注解依赖注入

7楼说的比较明确,你没有打开注解扫描配置。 看看spring mvc的文档吧

------解决方案--------------------
引用:
引用:加上:
<context:component-scan base-package="tarena.service"/>
<mvc:annotation-driven />我上已经打开了<context:component-scan base-package="tarena"/>这个不就是可以了么,他子包里的所有的都可以扫描进去啊……

漏看了。。。你的FeelService用@Service了么?
------解决方案--------------------
private FeelService feelService;

/**  
 * 设置feelService  
 * @param feelService feelService  
 */
public void setFeelService(FeelService feelService) {
this.feelService = feelService;
}
加入set方法