赞
踩
1.当要调用接口的实现类时,有2种方法
(1)声明接口,实现类实例化
(2)通过配置文件的方式,用<bean>和<property>两个标签,决定使用接口的那个实现类
2.遇到的问题,别人写好使,我写不好使
(1)使用ssh开发,声明接口
//PeForumCommentService 是接口
private PeForumCommentService peForumCommentService;
public PeForumCommentService getPeForumCommentService() {
return peForumCommentService;
}
public void setPeForumCommentService(PeForumCommentService peForumCommentService) {
this.peForumCommentService = peForumCommentService;
}
(2)调用接口
resultMap=this.getPeForumCommentService().topicCommentDetail(topicId,type,ifTag);
(3)正常这样调用是会报空指针的,因为接口对象是null,但是没有任何反应,应该是框架为了用户友好进行处理了,但是debuge并不会进入到getPeForumCommentService()方法中,当时我考虑到的就是应该去实例化实现类,不使用getPeForumCommentService()方法,果然生效了,但是并不知道为什么通过调用getPeForumCommentService()方式,别人的就好用,而且别人没有进行接口实现类的实例化,最后才发现,实在applicationContext.xml中通过配置<bean>和<property>的方式来使用的(其实也相当于实例化,只不过实在配置文件中处理的,目前不知到这样做到底有什么好处,感觉不但费劲,而且不容易发现问题,我找了将近2天的时间才找到原因)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。