dao是数据库接入层,这个是一个接口,implementsDao去实现这个接口,也就是按照接口中定义的方法取数据,Serveiec 也是一个接口,这个接口可以将不同的Dao放在同一个服务中,implementService 实现Service 。例如 我们有个JavaBean User 类,Course类,然后想在数据库中存取这个user相关的数据.对数据库的操作无非是增删改查,所以 就对User 类属性的增删改查,做一个接口,为什么要做接口呢,因为我们想与具体的实现脱离耦合关系。因为具体数据库的增删改查,我们既可以用Hibernate也可以ibitas 这个dao中只是定义了我要增删改查,具体实现可以用不同 的方法,对于user ,和Courese他们分别有自己的增删改查,但是我们有的时候又想同时操作他们,所以也就有了Service 接口。可以在这个接口中将User 和Course的Dao当作成员变量。然后具体操作的时候传进来的是实现dao的imp就行了。然后在action中调用service
简单的说 一个是接口 一个是实现类 dao在mvc中的m负责数据持久 与数据库打交道 service呢 负责业务逻辑 还有一个action 就是c 控制层 这样分层了 体现了面向接口编程思想 接口呢 他又是一套标准 所以改动的时候 不需要懂接口 只需要动实现类 比如UserDao user=new UserDaoImpl()后面的userDaoimp可以换成别的实现类 这当然会使用spring的ioc容器负责实例化对象