二、web项目开发进阶之分模块管理项目之专用模块

  一般来说我们会将一个项目按照MVC架构拆分成web(控制)层、service(服务)层、和persistence(持久)层和model(模型)层,分模块进行构建。注意:这些模块都在一个父项目之下,不能单独建项目;同时,web层的打包方式必须为war包,否则无法进行发布项目。
(一)父项目“taotao-parent”

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.pc</groupId>
    <artifactId>taotao-manager</artifactId>

    <!-- 注意打包方式为pom,默认为war,所以需要更改为pom -->
    <packaging>pom</packaging>

    <!--父工程就是通用模块中的parent项目(这里是父工程,而不能放到依赖下面去)-->
    <parent>
        <groupId>org.pc</groupId>
        <artifactId>parent</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <dependencies>
        <!--需要引入通用模块中的common项目,以引入一些常用工具-->
        <dependency>
            <groupId>org.pc</groupId>
            <artifactId>common</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

(二)model(模型)层

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>taotao-manager</artifactId>
        <groupId>org.pc</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>model</artifactId>

    <!-- 唯一需要更改的地方,就是更改打包方式为pom -->
    <packaging>pom</packaging>

    <!--因为是模型层,无需进行业务处理,所以除已有的依赖,不需要特别的依赖-->

</project>

(二)persistence(持久)层

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>taotao-manager</artifactId>
        <groupId>org.pc</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>persistence</artifactId>

    <packaging>jar</packaging>

    <dependencies>
        <!--持久层就是与数据库交互层,需要依赖模型层-->
        <dependency>
            <groupId>org.pc</groupId>
            <artifactId>model</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <!--其因为所有的依赖已在parent和common通用模块中,我们这里无需再依赖其他-->
    </dependencies>
</project>

(三)service(服务)层

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>taotao-manager</artifactId>
        <groupId>org.pc</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>service</artifactId>
    <!--更改打包方式-->
    <packaging>pom</packaging>
    <!--添加对持久层的依赖-->
    <dependencies>
        <dependency>
            <groupId>org.pc</groupId>
            <artifactId>persistence</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

(四)web(控制)层

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>taotao-manager</artifactId>
        <groupId>org.pc</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>web</artifactId>
    <!--打包方式为war包!!!-->
    <packaging>war</packaging>
    <!--依赖服务层-->
    <dependencies>
        <dependency>
            <groupId>org.pc</groupId>
            <artifactId>service</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</project>

  在web模块中,我们还需要将其改造成web项目,主要就是添加一个webapp/WEB-INF/web.xml结构

  以上就完成了一个分模块项目的搭建!

猜你喜欢

转载自blog.csdn.net/panchang199266/article/details/80938822