Maven多模块项目搭建+整合SSM框架(idea版)

本文详细介绍了如何在IntelliJ IDEA中搭建Maven多模块项目,并整合SSM(Spring、SpringMVC、MyBatis)框架。通过理解继承和聚合的概念,创建父工程管理公共配置,以及各个子模块(dao、service、controller等)的配置和依赖管理,最终形成一个完整的可运行的war包。文章还涵盖了数据库准备、项目结构、jar包管理以及各层业务逻辑的编写,适合初学者学习SSM集成。

Maven多模块项目搭建+整合SSM框架(idea版)

理解继承和聚合

通常继承和聚合同时使用

何为继承?

继承是为了消除重复,如果将 dao、service、web 分开创建独立工程则每个工程pom.xml文件中的内容存在重复,比如:设置编译版本、锁定 spring 的版本的等,可以将这些重复的配置提取出来在父工程的 pom.xml 中定义。

何为聚合?
项目开发通常是分组分模块开发,每个模块开发完成要运行整个工程需要将每个模块聚合在一起运行,比如:dao、service、web 三个工程最终会打一个独立的 war 运行。

需求和描述

我们一般将SSM工程拆分为多个模块来开发,比如dao,service,controller,utils和domain,然后利用其自建的依赖关系相互调用,然后这些项目会打包成统一的一个war包,最终能够成为一个完成完整的项目,每层负责每个人的任务,大家再通过版本控制工具svn或者git(后期会学到)达到一个协同开发的效果,后期会有很多这样的项目,后面的博客会介绍到
在这里插入图片描述
准备工作

1.建立相关的数据库和数据表,这里以oracle的单表操演示
在这里插入图片描述

2.建立父子工程的目录结构,我们处理这种的业务逻辑,一般都是将子工程放在工程中去,这里我用的是idea版的项目,这里我建的是父工程为一个project,子工程全部是model,我下面给大家展示一下我的目标结构
在这里插入图片描述

3.导入相关的jar包,因为这里建立的是聚合项目,每一层所需要的jar都是不一样的,比如dao层用到与数据库交互的jar包还有mybatis本身需要的jar和service需要spring对事务处理的jar包等,为了方便将其放到父工程的空间中,这里每一个子工程都能够调用,因为我建的是maven工程,下面我给大家展示一下我的相关jar包坐标

在这里插入图片描述
4.一般项目的配置文件可以根据自己的需求每一层放到每一层的业务里面,这样一般是业务范围比较大的时候,我这里做的是demo,故我把所有的配置文件都放在了controller里面,这里面防止了所有的配置文件
在这里插入图片描述

项目具体的流程

1.父工程的pom.xml文件,主要是对于子工程jar包的管理,版本控制,以及判断其子工程的具体情况

<?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>cn.ujiuye</groupId>
    <artifactId>ssm_ujiuye</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <spring.version>5.0.2.RELEASE</spring.version>
        <slf4j.version>1.6.6</slf4j.version>
        <log4j.version>1.2.12</log4j.version>
        <oracle.version>11.2.0.1.0</oracle.version>
        <mybatis.version>3.4.5</mybatis.version>
        <spring.security.version>5.0.1.RELEASE</spring.security.version>
    </properties>

    <dependencies>        <!-- spring -->
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.6.8</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${
   
   spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${
   
   spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${
   
   spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${
   
   spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-orm</artifactId>
            <version>${
   
   spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <</
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值