代码:
这是 执行类代码 配置都正常
- Java code
package cn.ait.cms.action;import java.util.Date;import java.util.List;import java.util.TimerTask;import org.springframework.beans.factory.annotation.Autowired;import cn.ait.cms.model.TbArticle;import cn.ait.cms.service.ArticleService;import cn.ait.common.util.Util;public class IndexNewsStatusExcuter extends TimerTask{ @Autowired ArticleService articleService; @Override public void run() { System.out.println("############# 执行" + Util.date2str(new Date(), "yyyy-MM-dd hh:mm:ss") ); //这里异常 List<TbArticle> list =findAllData(); for (TbArticle tbArticle : list) { System.out.println("内容:"+ tbArticle.getMainTitle()); } } /** 获取最新数据库信息[ 置顶,推荐,new 信息 ]*/ public List<TbArticle> findAllData(){ List<TbArticle> list = null ; /* 设置查询条件 */ int isRecommend = 1; try{ //这里异常22222222222 list = articleService.findByIsRecommend(isRecommend); }catch (Exception e) { System.out.println("监听器查询数据异常..."); e.printStackTrace(); } return list ; }}
SSH框架 报告的错误信息是
- Java code
java.lang.NullPointerException at cn.ait.cms.action.IndexNewsStatusExcuter.findAllData(IndexNewsStatusExcuter.java:38) at cn.ait.cms.action.IndexNewsStatusExcuter.run(IndexNewsStatusExcuter.java:23) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462)Exception in thread "Timer-2" java.lang.NullPointerException at cn.ait.cms.action.IndexNewsStatusExcuter.run(IndexNewsStatusExcuter.java:24) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462)2012-4-19 14:10:25 org.apache.cxf.transport.servlet.CXFServlet updateContext
求帮助 是数据库链接的问题吗?
------解决方案--------------------------------------------------------
ArticleService articleService;
list = articleService.findByIsRecommend(isRecommend);
articleService对象没有实例化,new
------解决方案--------------------------------------------------------
应该是articleService.findByIsRecommend(isRecommend)有问题,你要看下findByIsRecommend方法,或者DEBUG跟踪下哪里报NullPointerException
------解决方案--------------------------------------------------------
articleService,这个对象注入进来了吗,
应该是没注入进来
------解决方案--------------------------------------------------------
@Autowired
ArticleService articleService;
没有注入成功,你看下你的这个ArticleService接口 的实现是不是没加@service.
- Java code
try{ if(null=articleService) System.out.println("error..."); list = articleService.findByIsRecommend(isRecommend); }catch (Exception e) { System.out.println("监听器查询数据异常..."); e.printStackTrace(); }
------解决方案--------------------------------------------------------
你调用 IndexNewsStatusExcuter 的时候,是不是new 出来的?
Task task = new IndexNewsStatusExcuter();
如果是,这个task是不被spring容器管理的,所以你里面的articleService必然是NULL,你可以试试从context中取出articleService
------解决方案--------------------------------------------------------