所以我是Java的新手,我正在尝试使用JSP和servlet开始使用Web应用程序。我遇到过这个CRUD网络应用指南A simple CRUD Tutorial Using Java Servlet / JSP。问题是,我不明白他们为什么要创建StudentDAO界面。我知道这对于大多数人来说很容易理解,这就是我在这里问的原因。如果真的需要StudentDAO接口,我想要的只是一个答案,因为我们只在那里声明方法,并且无论如何都要在名为studentDAOImplementation的类中覆盖所有这些方法。 我知道我应该阅读更多关于Java接口的内容,但我希望能够解释为什么在这个例子中需要接口。
答案 0 :(得分:1)
这并不是一个简单的答案。答案草图将是 - 因为您希望独立于应用程序实际存储/检索数据库中的数据的方式。该接口提供了DAO(数据访问对象)应该能够执行的功能规范 - 它取决于实际执行它的具体实现。例如,出于测试目的,您可能希望设置一个不真正使用数据库的存根DAO,而是为您提供预制对象。在实际的复杂应用程序中,您可能希望根据实际使用的数据库引擎等来改变DAO,依此类推。通常,这是将功能规范与实现分离的实例。