组织Spring Web项目

时间:2016-11-18 07:31:26

标签: java spring maven spring-mvc projects-and-solutions

我需要创建一个Spring Maven Rest项目。我尝试使用谷歌搜索,发现可以通过以下方式组织Spring MVC项目 -

  • 控制器
  • 服务
  • 模型
  • 例外

我怀疑的是,我不需要从数据库中获取任何内容,而是根据用户的请求调用第三方休息服务来获取数据。我只需要从用户那里获取请求并调用第三方服务来获取用户请求的数据,并将其保存在动态决定的数据库和表中。

所以我需要DAO或存储库包吗?如果没有,那么我应该在哪个包中保留从休息服务中获取数据的逻辑。另外,我应该在哪个包中保留我的兔子mq听众和发件人?我对我的应用程序没有任何意见,我是否还需要遵循MVC模式。我可以在这里遵循什么项目结构/模式。我很迷茫。是否有任何好书可以解释所有这些问题?

2 个答案:

答案 0 :(得分:0)

什么是DAO?它们是您的数据访问对象。 它们是服务,它提取您的持久性策略。 这可以通过数据库查询来完成,但同样可以通过 webservices 来表现 所以,就个人而言,我会很好地与DAO保持沟通到你的持久层...这恰好是webservices。

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

在我看来: 您的DAO确保模型对象的持久性和获取。 您的服务可以清楚地处理您的模型对象,并可能执行其他未被DAO 处理的内容。与aggregateAndColorAllBananas(Set<Banana> bananas)一样,您的服务也是如此。或countAllBananasInAllSources()(使用ChiquitaDAO获取所有chiquitabananas和MuditaDAO以获取所有Mudita香蕉)

答案 1 :(得分:0)

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