IDEA2020.2搭建ssm框架环境(最详细版本)

前提:电脑上安装了IntelliJ IDEA, java环境,mysql5.x,maven以及tomcat8.x版本
1 IDEA基于maven创建项目 new project->Maven如下图,点击next
IDEA2020.2搭建ssm框架环境(最详细版本)_第1张图片2 创建项目名称,和保存目录
IDEA2020.2搭建ssm框架环境(最详细版本)_第2张图片
3 将当前项目变成一个java web应用
点击File->Project Structure->Modules,点击+,选择web如下图
IDEA2020.2搭建ssm框架环境(最详细版本)_第3张图片
4 对web.xml文件和webapp路径进行修改,选中Type下方的Web Module Deployment Descriptor,点击右侧的编辑,将path修改为imooc-reader(当前项目名)\src\main\webapp\WEB-INF\web.xml。web版本选择3.1。同时将下方的
Web Resource Direcotry改为imooc-reader(当前项目名)\src\main\webapp
点击保存,IDEA会生成对应目录IDEA2020.2搭建ssm框架环境(最详细版本)_第4张图片
5 在webapp目录下,新建一个index.html测试,在index.html中,body标签内加入

这是测试页面

,然后配置tomcat,点击
Edit Cofiguration,进入Run/Debug Configurations页面,点击+,找到tomcat Server->local,找到本地的tomcat,我这里是8.5.75版本
IDEA2020.2搭建ssm框架环境(最详细版本)_第5张图片
6 配置tomcat的端口等,如下图(端口号一般默认为8080),可以在After launch前选择勾,即运行tomcat自动打开谷歌浏览器,也可以不选
IDEA2020.2搭建ssm框架环境(最详细版本)_第6张图片
7 点击Deployment,点击+,选择Artifact,将之前的web exploded加入进来,Application Context设置为/
IDEA2020.2搭建ssm框架环境(最详细版本)_第7张图片
8 此时,启动tomcat,浏览器网址栏输入localhost/index.html,浏览器输出 “这是测试页面”,即在index.html输入的内容,表明tomcat配置成功

9 接下来,配置spring-mvc 和spring
在项目的pom.xml配置以下:加入阿里云私服,提高下载依赖包速度,IDEA2020.2搭建ssm框架环境(最详细版本)_第8张图片
10 pom.xml文件配置以下:将freemarker的依赖包导入,如下图
IDEA2020.2搭建ssm框架环境(最详细版本)_第9张图片
11 pom文件继续配置 json序列化包
IDEA2020.2搭建ssm框架环境(最详细版本)_第10张图片
12 加入pom.xml依赖包后,需要将包导入web应用。具体步骤:
点击file->Project structure -> Artifacts,将Available Elements下的包全部选中,右击,选择put into WEB-INF/lib,点击ok.如下图(后续加入pom.xml的依赖包均按照类似的步骤)
IDEA2020.2搭建ssm框架环境(最详细版本)_第11张图片
13 在web.xml文件配置DispatcherServlet,以及解决spring-mvc中的post请求中文乱码,如下图
(但application.Context*.xml会标红,我们需要在resources文件夹创建applicationContext.xml)IDEA2020.2搭建ssm框架环境(最详细版本)_第12张图片
14 在applicationContext.xml中配置以下内容:(尤其是xmlns内容,建议可以将其全部复制)
IDEA2020.2搭建ssm框架环境(最详细版本)_第13张图片
15 在applicationContext.xml中配置以下内容(在main->java创建com.imooc包存放源代码)IDEA2020.2搭建ssm框架环境(最详细版本)_第14张图片
16 applicationContext.xml中配置以下内容(整合freemarker模板引擎)(需要在WEB-INF目录下创建ftl文件夹)
IDEA2020.2搭建ssm框架环境(最详细版本)_第15张图片
17 测试freemarker和spring-mvc搭建
在webapp目录创建test.html,在body标签输入“测试页面”,然后将test.html改为test.ftl文件,将其移动到WEB-INF/ftl文件夹下面。
在com.imooc.read包下创建controller包,在controller包创建TestController类,如下图
主要是来测试freemarker和json序列化输出

IDEA2020.2搭建ssm框架环境(最详细版本)_第16张图片
18 启动tomcat,浏览器地址栏输入localhost/test/t1,输出“测试页面”表明freemarker配置成功,
然后浏览器地址栏输入localhost/test/t2输出相应文本,表明json序列化配置成功

19 接下来 整合spring和mybatis
在mysql5.x创建一个数据库,用于测试,如下图
数据库名称imooc_reader,表名test,两个字段,id为自增
在这里插入图片描述
20 在pom.xml文件中配置:引入依赖如下图
IDEA2020.2搭建ssm框架环境(最详细版本)_第17张图片
21 在pom.xml引入阿里巴巴的连接池,配置如下
IDEA2020.2搭建ssm框架环境(最详细版本)_第18张图片
22 在applicationContext.xml文件配置以下内容
(需要在resoucrce文件夹创建mappers文件夹和mybatis-config.xml,在com.imooc.read包下创建mapper包,存放接口类)IDEA2020.2搭建ssm框架环境(最详细版本)_第19张图片
23 在com.imooc.read.mapper包创建TestMapper类IDEA2020.2搭建ssm框架环境(最详细版本)_第20张图片
24 在resources文件夹下创建mybatis-config.xml配置
IDEA2020.2搭建ssm框架环境(最详细版本)_第21张图片
25 加入单元测试依赖包,pom.xml文件配置:
IDEA2020.2搭建ssm框架环境(最详细版本)_第22张图片
26 进行测试,在mappers文件夹创建test.xml进行测试,test.xml文本如下
IDEA2020.2搭建ssm框架环境(最详细版本)_第23张图片
27 在com.imooc.read包下创建service包,创建TestService类,测试向数据库导入5条数据
IDEA2020.2搭建ssm框架环境(最详细版本)_第24张图片
28 在TestService类上,鼠标放在TestService名上,ctrl+shift+T快捷键生成对应的单元测试类,如下,目录在test\java\com\imooc\read\service\TestServiceTest.java,如下:
IDEA2020.2搭建ssm框架环境(最详细版本)_第25张图片
29 点击batchImport(),右击运行,但出错了 ,控制台显示java.lang.classnotfoundException:javax.servlet.ServletContext,此时需要在pom.xml文件配置如下
IDEA2020.2搭建ssm框架环境(最详细版本)_第26张图片
重新 点击batchImport(),右击运行,刷新数据库,就可以看到插入的五条数据了。
IDEA2020.2搭建ssm框架环境(最详细版本)_第27张图片
30 为开发方便,需要加入日志依赖包,pom.xml文件加入
IDEA2020.2搭建ssm框架环境(最详细版本)_第28张图片

31 在resources文件夹创建logback.xml,配置如下,自定义设置日志输出格式,如下:
IDEA2020.2搭建ssm框架环境(最详细版本)_第29张图片
32 加入spring事务管理,在项目中的External Libraries中,看是否有sping-tx的依赖,一般在jdbc依赖引入后,会自动加入。在applictionContext.xml配置如下:
IDEA2020.2搭建ssm框架环境(最详细版本)_第30张图片
事务使用方式,在对应的方式上加入@Transactional
例如:如下,在出现异常时,要么全执行,要么全不执行,先将test表清空,进行测试
IDEA2020.2搭建ssm框架环境(最详细版本)_第31张图片
清空后的test表
IDEA2020.2搭建ssm框架环境(最详细版本)_第32张图片
进行事务的测试,
重新在TestServiceTest 类点击batchImport(),右击运行,刷新数据库.
控制台显示
IDEA2020.2搭建ssm框架环境(最详细版本)_第33张图片
表依旧为空,说明我们的事务管理测试成功,事务进行回滚,达到了预期效果。截至目前,环境就搭建完成了。

你可能感兴趣的:(java,java,spring,tomcat,mybatis,mvc)