【项目实践】图文并茂讲解SSM整合

以项目驱动学习,以实践检验真知

前言

现在使用Java后端开发使用的技术栈基本上比较统一:Spring + SpringMVC + Mybatis,即大家常说的SSM。虽然现在流行的做法是使用SpringBoot来快速搭建、配置好SSM项目,但还是有必要知道如何不用SpringBoot来组合好这三者,因为SpringBoot也只是帮助我们做好了许多配置,并不是说舍弃掉了那些配置,所以知道原生的SSM如何整合可以更好帮助我们理解SSM也能更好的理解SpringBoot带来的好处!而且有的老项目就是没有用SpringBoot,如果你对原生SSM整合与配置一无所知那维护老项目起来会极其难受。

SSM整合相比起SpringBoot的快速搭建自然是繁琐无比,但是不用担心,本文会一步一步演示如何整合这三者,并且会讲解每个配置的含义。老套路,文章最后还放上了思维导图和项目Github地址,clone下来即可直接运行,如果想自己做一个完整的SSM项目,直接用这套架子进行开发也是完全没问题的!

整合

项目搭建

创建项目

这里使用idea进行项目创建,maven来管理依赖包。首先我们在idea上新建一个project,选择Maven,然后选择web应用:

点击下一步后输入GroupId和ArtifactId后点击下一步直到完成。项目创建完毕后整个项目结构如下:

配置web项目

现在还先别着急配置SSM,我们先得配置一下这个idea下的web项目才行。大家也可以看到,项目建立起来后这个web.xml文件里写的是2.3版本,这个版本太老了,不行。

我们按住catl + shift + alt + S打开idea的Project Structure,然后点击左侧的Modules,再点击Web,然后点击右边的删除按钮,确定,最后点击APPLY先将这个默认的删除:

此时我们会发现默认的web.xml文件已经被删除了。然后我们再点击右侧的添加按钮,点击web.xml进行添加:

这里我们选择3.1版本,选择好后点击弹出框的OK,再点击下方的OK即可创建完毕:

创建完毕后就会发现我们的web.xml内容已经变成了3.1了。

建立项目结构

此时还先不要着急去配置SSM,我们现在项目连个基本的结构都没有呢,你核心代码写在哪,你测试在哪些,你资源放哪这些都是我们要去建立的。

首先,我们在src路径下新建test文件夹,然后在src/main路径下新建java和resources文件夹。建立好文件夹后,右键点击文件夹,然后拖到下方,选择Mark Directory as,然后选择对应的目录结构。

java文件夹对应SourcesRoot,代表标记为项目源代码路径,代码就写在这里。

resources文件夹对应ResourcesRoot,代表标记为资源路径,所有资源比如配置文件就放在这。

test文件夹对应TestSourcesRoot,代表标记为测试路径,测试代码都会放在这里。

文件夹指定好后,我们就要在java文件夹下创建我们的代码包结构。包的话就分为最基本的controller、service、mapper、entity。包建好后目录结构如下:

导入必备依赖包

基本的项目结构整理好后,接下来我们就要开始对SSM进行整合了。首先肯定要做的就是在pom.xml文件中导入必备的依赖包,直接复制粘贴就好了,各个地方都做了注释说明:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>

    <!--统一配置jar包的版本-->
    <mysql.version>5.1.48</mysql.version>
    <spring.version>5.2.0.RELEASE</spring.version>
    <jackson.version>2.10.0</jackson.version>
</properties>

<dependencies>
    <!--单元测试,注意哦要4.12版本以上。scope为test代表只用来做测试,并不随版本打包发布此依赖包-->
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>

    <!--日志我们使用logback-->
    <dependency>
      <groupId>ch.qos.logback</groupId>
      <artifactId>logback-classic</artifactId>
      <version>1.2.3</version>
    </dependency>

    <!-- 简化Getter、Setter的工具lombok。非必需
    注意:使用lombok还要在idea上下载对应的插件-->
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.10</version>
        <scope>provided</scope>
    </dependency>


    <!-- ***************数据库相关配置****************** -->
    <!-- mysql驱动依赖包,连接mysql必备-->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>${mysql.version}</version>
    </dependency>

    <!-- 数据源依赖包,能大幅提升性和便利性。这里我们用阿里的德鲁伊数据源-->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.12</version>
    </dependency>

    <!-- Mybatis必备依赖包 -->
    <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.4.6</version>
    </dependency>

    <!-- ***************web相关配置****************** -->
    <!--配置JavaEE依赖包,包含了Servlet、Validation等功能-->
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>8.0</version>
        <scope>provided</scope>
    </dependency>

    <!-- JSTL依赖包,如果用将jstl标签用在jsp中就要此依赖包。非必需的 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>

    <!-- jackson依赖包,用来将java对象转换JSON格式,SpringMVC要用的 -->
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>${jackson.version}</version>
    </dependency>
    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        
  • 14
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值