SSH框架中在Action中调用DAO报空指针

gyweiUstc 2012-08-02 10:43:33
在使用MyEclipse10中进行了SSH(Struts2)框架的整合,使用了MyEclipse10中Hibernate自动生成DAO的方法生成了相关配置和DAO,我也在Spring配置文件中配置了相关使用的Action类,然而当我在Action中使用DAO时却报空指针异常,但是当我使用了一个Service类来使用这个DAO却一切正常(配置文件配置正确)。求高人指点!!
...全文
384 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
渴望就是力量 2012-08-04
  • 打赏
  • 举报
回复
看看是不是服务层没有声明set方法
comeoncomputer 2012-08-04
  • 打赏
  • 举报
回复
这问题很常见,一般情况xiaonei应该上sessionFactory没有注入值,所有在产生session时调用sessionFactory的时候会报空指针。你可以试试在dao类中用注解注入sessionFactory、+
@Resource
public void setSessionFactory1(SessionFactory sessionFactory){
this.setSessionFactory(sessionFactory);
}
LucEaspe 2012-08-04
  • 打赏
  • 举报
回复
用spring 来注入啊。干嘛要从context 里面去获取呢???
  • 打赏
  • 举报
回复
//通过ClassPathXmlApplicationContext 实例化Spring的上下文
ApplicationContext context = new ClassPathXmlApplicationContex("applicationContext.xml");
//通过HelloSpring bean 的id来获取bean的实例
UserDao sd =(UserDao) context.getBean("userDao");
调用sd.方法
测试dao层方法是否没有问题

Sammie 2012-08-03
  • 打赏
  • 举报
回复
用的注解还是普通的调用呢?贴点代码
Ade子夜 2012-08-03
  • 打赏
  • 举报
回复
好像没有注入Dao
CCTTVVBB 2012-08-03
  • 打赏
  • 举报
回复
Aplication ap=new ClassPathXmlApplicationContext(new String[]{"youDataSource .xml","youDaoXml.xml"})
如果使用了注解:service.方法名。
如果没有使用,dao=ap.getbean("dao名称");
如果dao为空,你的xml文件可能有问题
ZZZ5512536 2012-08-03
  • 打赏
  • 举报
回复
代码呢..
  • 打赏
  • 举报
回复
无码无真相
  • 打赏
  • 举报
回复
public String execute() throws Exception {
BeanFactory bf =WebApplicationContextUtils.getRequiredWebApplicationContext(ServletActionContext.getServletContext());
Dao dao = (Dao) bf.getBean("Daohibernate");//Daohibernate是你的Dao实现类
dao.你的方法;
}
你不想用service,你这样试一下看可以不...

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧