Java 如何在spring控制台应用程序中使用MVC设计模式

Java 如何在spring控制台应用程序中使用MVC设计模式,java,spring-boot,model-view-controller,design-patterns,console-application,Java,Spring Boot,Model View Controller,Design Patterns,Console Application,我开发了一个应用程序,它从控制台从用户那里获取数据,并将数据传递到前端,SpringRESTAPI用于此目的。现在我想根据MVC重新排列文件夹结构。 你能不能检查一下我到目前为止做了什么,如果我错了,请纠正我,我对设计模式的了解非常少 控制器 BookController-使用rest api将数据传递到前端的类 型号 Book-带有变量和相关方法的父类 新颖-具有变量和相关方法的子类 Poems-带变量的子类和相关方法 MyBookManager-BookManager接口实现的类,其中包括

我开发了一个应用程序,它从控制台从用户那里获取数据,并将数据传递到前端,SpringRESTAPI用于此目的。现在我想根据MVC重新排列文件夹结构。
你能不能检查一下我到目前为止做了什么,如果我错了,请纠正我,我对设计模式的了解非常少

控制器

BookController-使用rest api将数据传递到前端的类

型号

Book-带有变量和相关方法的父类
新颖-具有变量和相关方法的子类
Poems-带变量的子类和相关方法
MyBookManager-BookManager接口实现的类,其中包括mongoDB的crud操作

查看

BookManager-与MyBookManager相关的界面
Console—类,它从控制台接收用户的输入,并调用MyBookManager中的方法将其保存到DB

存储库

BookRepository-扩展MongoRepository的接口

其他课程

BookStoreApplication-包含main方法的类

ErrorHandle-包含验证方法的类

您的问题是什么?我已经更新了questionPackage名称应始终为小写。为什么有一个接口BookManager,为什么模型包中有实现?接口BookManager包含crud方法,这些方法在MyBookManager类中被重写。MyBookManager类负责DB中的crud操作,所以我认为它应该在ModelYes中,但是您还必须将接口放在那里。但是,如果只有一个实现,您可以完全删除该接口。您的问题是什么?我已经更新了questionPackage名称应始终为小写。为什么有一个接口BookManager,为什么模型包中有实现?接口BookManager包含crud方法,这些方法在MyBookManager类中被重写。MyBookManager类负责DB中的crud操作,所以我认为它应该在ModelYes中,但是您还必须将接口放在那里。但是,如果只有一个实现,则可以完全删除该接口