我们简单Web服务的结构

在第一章,几个基础中,我们将这个应用分成四部分:

  • Inventory服务
  • Availability服务
  • Booking服务
  • Billing服务

一个可以用于构建我们项目的办法是,把它们作为作为单一模块,并且四个服务在一起编码。 虽然这样使得配置很简单,但是它也导致了单独部署整个模块的阻碍,处于对扩展性要求的考虑(参见第10章扩展RESTful Web服务,将讨论扩展性)。替代方案是,我们将把每个服务组织成单独的模块。

本书的目的,重点在于Maven。我们的项目将由六个独立的Maven模块组成:

  • common:这个模块包含公共代码和将会用到的Hibernate设置
  • inventory:这个是inventory服务的实现
  • availability:这个是availability服务的实现
  • booking:这个是booking服务的实现
  • billing:这个是billing服务的实现
  • all:出于开发和单独部署的原因,这个模块将被组织为使用四个服务的单独的Web应用

注意

关于使用Maven模块的更多信息可以在https://maven.apache.org/guides/mini/guide-multiple-modules.html找到文档参考。

因此我们的父POM看起来将是这样的:

<project... //出于可读性的目的省略
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.packtpub.rest-with-spring</groupId>
    <artifactId>rest-with-spring</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>

    <modules>
        <module>common</module>
        <module>inventory</module>
        <module>availability</module>
        <module>booking</module>
        <module>billing</module>
        <module>all</module>
    </modules>

</project>

正如前面列出的,我们的模块声明在顶级pom.xml中。common模块是一个简单的JAR模块,而inventory,availability,booking,billing,和all都是声明为WAR模块。

技巧

完整的Maven设置可以下载 TODO

results matching ""

    No results matching ""