请问spring mvc中service层为什么接口声明的对象可以调用实现类中的方法?比如下图?

为什么IUserDAO接口定义的对象,可以调用它的实体类中addUser方法?,
还有为什么使用的是IUserDao接口的addUser方法,不是使用实现类UserDao的addUser方法?实现类中不是才有具体实现的方法吗?为什么调用的是接口的方法?

因为UserManager类中包含有一个IUserDao声明对象,然后它通过set的方式从外部注入到UserManager类了,这就是java的封装的特性的一个体现,IUserDao封装了addUser()方法,那么其他类就可以引用这个对象,再注入进去,就可以调其中的方法了。追问

谢了,再问下为什么使用的是IUserDao接口的addUser方法,不是使用实现类UserDao的addUser方法?实现类中不是才有具体实现的方法吗?为什么调用的是接口的方法?

温馨提示:答案为网友推荐,仅供参考
相似回答