ssm+maven(模块化)框架搭建(eclipse)(上)

环境 tomcat8 +jdk: 1.8+myeclipse

参考博客:http://blog.csdn.net/yu870646595/article/details/52150027

1.maven 模块化搭建

搭建后的目录框架:

 

备注:ssm-parent:父模块 ssm-module1:子模块

ssm-parent 功能:聚合各个子模块,存放jar包依赖,实现各个子模块对依赖的共享;

 pom文件配置:

<projectxmlns="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>

 

<!--父模块坐标 gav-->

  <groupId>gxrong.study.ssm</groupId>

  <artifactId>ssm-parent</artifactId> 

  <version>0.0.1-SNAPSHOT</version>

<!--打包方式-->

  <packaging>pom</packaging>

 

  <name>ssm-parent</name>

  <url>http://maven.apache.org</url>

 

<!--属性标签  可自定义  我在这里主要对各个依赖的version统一管理-->

  <properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <!--Framework dependency versions -->

      <spring.version>4.2.5.RELEASE</spring.version>

        <mybatis.version>3.3.1</mybatis.version>

        <jackson-version>2.6.4</jackson-version>

        <commons-io.version>2.4</commons-io.version>

          <commons.fileupload.version>1.3.1</commons.fileupload.version>

        <slf4j.version>1.7.7</slf4j.version>

      <log4j.version>1.2.17</log4j.version>

      <junit.version>4.12</junit.version>

  </properties>

 

<!--添加依赖 各个子模块都可以继承,如果有些jar部分子模块不需要继承,<dependencies> 外层添加<dependencyManagement>,这样做子模块不会真正的添加,需要的子模块在pom里配置一下ga即可 -->

     <dependencies>

            <dependency>

            <groupId>junit</groupId>

            <artifactId>junit</artifactId>

            <version>${junit.version}</version>

            <scope>test</scope>

         </dependency>

   

       <!--spring-->

         <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-core</artifactId>

            <version>${spring.version}</version>

            <!-- 排除spring依赖的comm-logging 换用slf4j作为抽象访问层-->

            <exclusions>

                 <exclusion>

                    <artifactId>commons-logging</artifactId>

                    <groupId>commons-logging</groupId>

                 </exclusion>

                </exclusions>

         </dependency>

         <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-beans</artifactId>

            <version>${spring.version}</version>

         </dependency>

   </dependencies>

   插件

   <build>

      <plugins>

         <plugin>

            <groupId>org.apache.maven.plugins</groupId>

            <artifactId>maven-compiler-plugin</artifactId>

         </plugin>

 

  <!--配置子模块 名称需跟子模块名称相同,多个子模块打包的时候可直接在父模块上进行 -->

  <modules>

    <module>ssm-module1</module>

  </modules>

</project>

子模块目录及POM:

  目录:

 

maven规范化结构:src/main/java  src/mian/resources src/test/java   src/test/resources

文件说明:

src/main/java:java代码 dao  service  controller  pojo 等均可以放到这里,当然,dao service可以单独建立一个子模块;这里就不说了,属于项目架构的问题; 

src/mian/resources:存放项目的配置文件,比如spring spring-mybatis log4j等;

POM配置:

<artifactId>ssm-module1</artifactId>

  <name>ssm-module1</name>

  <packaging>war</packaging>

  <parent>

  <groupId>gxrong.study.ssm</groupId>

  <artifactId>ssm-parent</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  </parent>

其它的不放了,都是些jar依赖,主要说明的是 parent 引入;子模块pom里需放置父模块的坐标,这样才能继承父pom文件里的依赖,子模块的坐标可省略groupId version,项目会自动继承父模块的配置;

聚合继承:聚合主要是为了方便构建项目,继承主要是为了消除重复配置。

最后,博客写的有点乱,第一次这么系统的记录自己的学习,看到的亲们见谅。

原文地址:https://www.cnblogs.com/chongchong409/p/6429139.html