说起来还是比较有意思的,最近一个同学问我SSM(Spring+SpringMVC+Mybatis)整合开发,整体的思路和配置究竟是怎么个思路。这不禁让我想起了我一开始做SSM整合开发的苦逼时间。本以为不就是个框架吗,有啥难的。但后来真的发现自己动手做起来真的很不简单,尤其是对于新手同学来说。 于是我想,百度一下肯定是能够找到整合开发的例子吧。不幸的是,这些教程看起来很高大上,但是实际操作起来,不是缺包就是配置文件本身存在问题,再有就是代码根本就没有贴全。除了这些问题,仅有少数能够配置成功的文章,更是根本连配置信息、代码的解释都没有…… 我心想,算了,还是自己手动撸一篇文章吧。于是,就有了接下来的这些内容。 本文,主要是针对已经学过Spring,了解SpringMVC和Mybatis的同学。如果这些还暂时不了解,没关系,先去找些视频或者书籍看看SSM的相关知识再来(笑)。 我们以一个小型的项目作为依托,先介绍此项目的整体架构和用到的技术,并让你知道每个部分的作用;接着,我将介绍引入的jar文件(Maven),并带你大致了解一下Maven是个啥;接着就是配置文件,我将详细介绍配置文件的作用,以及为啥这样配置;最后,我们将实现一个查询的小功能。 这个文章将分成两篇,因为比较长,希望大家多谢耐心。 废话不多说,开始吧!
这小节,主要带你回顾下整合开发遵循的模式以及SSM三框架在其中的身份。 1)MVC开发模式:你肯定知道,现在的B/S系统大多都是遵从MVC的开发模式开发的。M就是Model,模型层,负责数据的存储,就是代码中的类,最早的时候必须符合JavaBean的规范;V就是View,视图层,负责信息的展示,就是用户看到的应用页面;C就是Controller,控制器,这一层做的主要是逻辑层的操作,比如用户登录的后台代码,当然现在的逻辑层,在开发的过程中是由dao、service和controller共同组成的。 2)SSM这三者的作用分别是什么呢? 以前我一直天真的认为,SSM这三者的作用大致上应该是对应着MVC的,但是我错了,而且还错的离谱。这么说虽然有一定的依据,但是真的不准确。
好了,下面我们就来看看这三大框架究竟是如何无缝的组合在一起的吧。
我们先来说一下项目的目录结构。
在这个小的web项目中,大的目录分成了java、resources、webapp三部分。
知道了上面目录结构的功能,就能看下面这张结构图了:
我们将整体的结构分成了五个部分,分别是前端页面、Spring容器、数据库连接池、数据库(这两部分其实可以合成一部分)、Maven依赖管理。 完成一个web请求的个过程大致如下:
整个请求过程经历的各个模块,我想我已经说的很清楚了。其中最为核心的是Spring,Spring管理着这些类,供其他类完成依赖注入。
我们之前开发的时候,是需要手动的将一个个的类导入到我们的工作空间中,然后才能进行正常的代码编写。尽管如此,有时候还是会出现一些诸如ClassNotFountException之类的异常。 Maven的出现改变了这种情况,我们只需要配置文件,就能够很方便的将jar文件导入到我们的工作空间中,同时还能够实现将项目打成war包的操作,更加简便了我们的开发。 其实Maven的配置文件的核心就一个(个人认为),即三坐标。那么,三坐标是什么呢?我们来简单的看一段Maven的配置文件:
<dependencies>
<!-- 数据库连接池、驱动 -->
<!-- https://mvnrepository.com/artifact/c3p0/c3p0 -->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1</version>
</dependency>
</dependencies>
这里我们引入的jar文件就是C3P0数据库连接池文件,可以看到,所谓的三坐标就是groupId、artifactId、version。如果我们需要引入一个jar文件,只需要去Maven中央仓库搜索,就能够找到对应的三坐标啦。 Maven我们就说这么多,过多的细节就不在这里展开讲了,欢迎大家关注后续的文章。 这篇文章就到这里,下篇文章将开始展开配置文件的讲解,敬请期待!