写在前面
最近在写一个图片分享网站类型的小 demo,后端采用了 Spring+SpringMVC+Mybatis 来进行框架的搭建。因为一直写前端,对后端的一些实现一直不太了解,也导致在项目开发中后端运行出现了什么问题,我也不能及时察觉到。所以希望通过写这个小 demo,能够了解后端项目是如何创建、管理和实现的。所以先总结一下如何从零搭建 Spring+SpringMVC+Mybatis。
开发环境
- IntelliJ IDEA 2017.3.3 x64
- apache-maven-3.3.9
- apache-tomcat-9.0.4
具体下载方法及使用可以自行百度一下。
创建 Maven Web 项目
第一步我们需要创建一个基本的使用 Maven 管理 的 web 项目。
打开 idea 之后,在左上角点击 file -> new -> project,在弹出的 new project 页面,选择 maven -> 勾选 Create from artifactype -> 选中 webapp(注意:这个地方有两个 app,选择 maven-archetype-webapp), next 。如下图
接下来就是填写 groupId 和 archetypeId 了,点击 next。这里需要注意的是 GroupID 实际对应 JAVA 的包的结构,是 main 目录里 java 的目录结构。 ArtifactID 就是项目的唯一的标识符,实际对应项目的名称,就是项目根目录的名称。如下图
然后下一步,首先我们需要配置本地 maven 的安装路径,然后点击右侧的加号。如下图
输入对应的 name 和 value,然后点击 OK。点击 Next。这里需要注意 archetypeCatalog 表示插件使用的 archetype 元数据,不加这个参数时默认为 remote,local,即中央仓库 archetype 元数据,由于中央仓库的 archetype 太多了,所以导致很慢,指定 internal 来表示仅使用内部元数据。
然后填写 project name 和 module name,并选择项目所在的路径。注意 module name 默认和 project name 一样的,但是如果这个项目只有这一个 module,不改无所谓的,如果有很多的 module,那肯定是修改一下。 填完点击 finish。如下图
在创建过程中,这时候在 Idea 主窗口的右下角部分,我们可以看到一个滚动条在执行,说明我们的项目正在 build 中.右上角有一个提示框如下图所示:
这个提示框大概意思是:Maven 项目需要被导入.我们选择 Enable Auto-Import(自动导入)
当我们看见如下目录时,说明我们的项目已经创建好了。如下图
修改项目目录
创建完项目后,我们可以发现我们项目的目录不全,我们需要自己手动添加。
初始结构图如下:
修改后目录如下:
需要的主体目录对应解释:
1 | src //源码、资源等文件的根目录 |
下面我们讲一下如何创建 main 下的 java 目录
我们先右键点击 main 目录,接着选中 New→Directory,在弹出的对话框中输入 java。
接着我们需要把 java 目录标记为源文目录。
在 java 目录下创建包,这里有一个很容易尴尬的地方就是,有的情况下我们创建的目录不能自动识别,然后直接会生成一串。如果遇到这个问题,大家可以参考一下这个解决办法。
创建好相应目录后,一定要记得将该目录标记为相应的类型,如果是普通目录则不需要标记。
配置 pom.xml 文件
我们根据项目引入相应的资源库,我的具体配置如下:
1 | <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
整合 Spring+SpringMVC+Mybatis
刚才我们已经配置好了基本的目录,也引入了相应的项目资源库,接下我们需要对 Spring+SpringMvc+Mybatis 进行整合。
我们先打开 webapp 目录下面的 WEB-INF 目录中的 web.xml 文件,web.xml 文件是整合 web 项目的配置中心.我们在 web.xml 中加入如下内容:
1 |
|
在配置好 web.xml 文件后会报错,是因为我们有一些文件还没有创建。在 IDEA 中我们只需选中报错处,按下 Alt+Enter 即可生成相应的目录或文件。
- 我们首先需要在 src→main→resources 下创建一个 spring 目录,然后在 spring 目录下创建 spring 相关的控制文件。
在 spring 目录下创建 spring-dao.xml 文件
1 | <?xml version="1.0" encoding="UTF-8"?> |
上面的配置中,肯定也会出现报错的情况,这时候我们只需要选中报错的地方按下 Alt+Enter 就能生成相关的资源.
在 spring 目录下创建 spring-service.xml 文件
1 | <?xml version="1.0" encoding="UTF-8"?> |
在 spring 目录下创建 spring-web.xml 文件
1 | <?xml version="1.0" encoding="UTF-8"?> |
- 现在我们会发现我们的 jdbc.properties 和 mybatis-config.xml 文件都是空的,我们需要继续写入内容。
jdbc.properties 是数据库连接的配置文件.如下:
1 | jdbc.driver=com.mysql.jdbc.Driver |
上面的 jdbc.driver 为数据库连接的驱动,jdbc.url 为数据库的连接地址.
mybatis-config.xml 顾名思义是 mybatis 的配置文件,如下:
1 | <?xml version="1.0" encoding="UTF-8" ?> |
- 我们还需要为日志记录添加一个配置文件,我们需要在资源目录下面添加一个默认的配置文件 log4j2.xml 即可,如下:
1 | <?xml version="1.0" encoding="UTF-8"?> |
- 因为我们使用的是 mybatis-generator 来自动生成实体类和映射文件,因此我们还需要在资源目录下添加 mybatis_generator.properties 和 generatorConfig 两个文件。
mybatis_generator.properties 是 mybatis 连接数据库的文件,如下:
1 | jdbc_driver=com.mysql.jdbc.Driver |
generatorConfig 是 mybatis-generator 的配置文件,如下:
1 | <?xml version="1.0" encoding="UTF-8"?> |
好啦,到这里具体的配置文件都搞定了!
配置 Tomcat
我们想要把项目跑起来,当然还需要配置 Tomcat 服务器啦!
首先我们在主页面的点击右上角点击那个下拉框,再点击 Edit Configurations。
然后在弹出的对话框中点击+号,找到 Tomcat Server ,选择 Local.
在弹出的对话框中,选择 Deployment,点击右侧的+号,选择 Artifact。
在弹出的对话框中选择后缀为:exploded 的选项
最后回到 Server 选项卡,配置一下 Tomcat 的基本参数,最后点击 Ok 即可
回到主界面点击右上角的 Debug 按钮,如果出现以下界面,就说明服务器启动成功了。
写在最后
好啦,我们一个最基本的基于 Spring+SpringMVC+Mybatis 搭建的 web 项目就建好了,希望我的总结也能够给你提供一点帮助。
本篇文章纯属于个人的学习总结,如果文章中出现错误或不严谨的地方,希望大家能够指出,谢谢!