Java 组织SpringWeb项目

Java 组织SpringWeb项目,java,spring,maven,spring-mvc,projects-and-solutions,Java,Spring,Maven,Spring Mvc,Projects And Solutions,我需要创建一个SpringMaven Rest项目。我在谷歌上搜索了一下,发现Spring MVC项目可以按以下方式组织: 控制器 刀 服务 模型 例外情况 我的疑问是,我不需要从数据库中获取任何内容,而是调用第三方rest服务来根据用户的请求获取数据。我只需要接收用户的请求并调用第三方服务来获取用户请求的数据,并将其保存在动态决定的数据库和表中 那么我需要DAO或存储库包吗?如果不是,那么我应该将从rest服务获取数据的逻辑保存在哪个包中。另外,我应该将我的rabbit mq侦听器和发送器

我需要创建一个SpringMaven Rest项目。我在谷歌上搜索了一下,发现Spring MVC项目可以按以下方式组织:

  • 控制器
  • 服务
  • 模型
  • 例外情况
我的疑问是,我不需要从数据库中获取任何内容,而是调用第三方rest服务来根据用户的请求获取数据。我只需要接收用户的请求并调用第三方服务来获取用户请求的数据,并将其保存在动态决定的数据库和表中


那么我需要DAO或存储库包吗?如果不是,那么我应该将从rest服务获取数据的逻辑保存在哪个包中。另外,我应该将我的rabbit mq侦听器和发送器保存在哪个包中?我没有我的应用程序的任何视图,我仍然需要遵循MVC模式吗。我可以遵循什么样的项目结构/模式。我很困惑。有什么好书能解释所有这些问题吗?

什么是刀?它们是您的数据访问对象。 它们是抽象您的持久性策略的服务。 这可以通过数据库查询完成,但同样也可以通过Web服务进行处理。
所以,就我个人而言,我认为道与你的坚持层保持沟通是很好的。。。正好是Web服务

很可能你没有任何观点。听起来像是你自己在创建一个Web服务。在这种情况下,没有任何视图是可以的(尽管您可以使用视图,例如,如果您返回xml并决定使用视图模板来呈现输出。这不是我的建议,但是…)

我认为: DAO可以确保模型对象的持久性和获取。
您的服务在您的模型对象上简单地工作,并且可能执行DAO无法处理的其他工作。像
aggregateAndColorAllBananas(设置香蕉)
是您的服务将要做的事情。或者
countallbanananalsources()
(使用ChiquitaDAO获取所有Chiquitabanas,使用MuditaDAO获取所有Mudita香蕉)

在这种情况下,我将跳过dao包。我通常在与第三方Web服务通信时使用“消费者”包。所以在你的情况下,我想我会有包:控制器、服务、消费者、模型、异常。 如果您有任何SpringJava配置文件,还可能有一个“config”包