首先声明在与页面交互时是能运行的,且dao不为空,但现在的需求是取数据库里面的一条数据到后台,所以我想通过dao里面的findById方法,但是提示空指针,这是为什么?
这是dao里面的内容public interface RequestMakerDao
{
public Parameter findById(java.lang.Integer id);
}
这是调用的时候
RequestMakerDao dao;
public String getRequest(Integer id, String msgType)
{
System.out.println("id是"+id);
System.out.println("msgType是"+msgType);
if(dao==null){
System.out.println("是空的");
}
Parameter p = dao.findById(id);
}
关于ssh的DAO接口的问题,为什么提示为空
答案:2 悬赏:70 手机版
解决时间 2021-01-24 05:40
- 提问者网友:听门外雪花风
- 2021-01-23 20:55
最佳答案
- 五星知识达人网友:拜訪者
- 2021-01-23 22:07
RequestMakerDao dao; 你是配置注入的 还是 注解 注入的
全部回答
- 1楼网友:你哪知我潦倒为你
- 2021-01-23 23:17
一个接口可以从三方面去考察:
制定者(或者叫协调者),实现者(或者叫生产者),调用者(或者叫消费者)。
接口本质上就是由制定者来协调实现者和调用者之间的关系。
所以通常说的“面向接口编程”可以理解为:
只有实现者和调用者都遵循“面向接口编程”这个准则,制定者的协调目的才能达到。
一个老生常谈的例子就是jdbc。
优点:
接口和实现分离了,适于团队的协作开发。
更具体的优点:可以参看idp原则。
缺点:
设计难了,在你没有写实现的时候,就得想好接口,接口一变,全部乱套,这就是所谓的设计比实现难。
所以设计接口的人工资都高啊!!!
——————————————————————
java本身也是一个不断完善的语言,他也在频繁的改动他的系统api来完善,他的api是一个庞大的体系,互相关联,如果不采用接口,而都是用实现类的话,那么api的改动就会给整个体系带来不稳定。而且如果改动api,那么就会有大量采用旧api的项目因无法正常运行,会损失大量客户。换句话说,jdk已经发布的api是一种承诺,一经发布就不能更改,即使原来api存在各种各样的问题(例如java.util.properties类就是一个失败的例子)也必须保留,于是在java里就出现了不建议使用的方法,但jdk依然提供该方法。而且java语言本身是一个跨平台的语言,为了满足在各个平台下运行,就必须把各种操作做成接口,在编写各个平台下的实现类
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯