前提:电脑上安装了IntelliJ IDEA, java环境,mysql5.x,maven以及tomcat8.x版本
1 IDEA基于maven创建项目 new project->Maven如下图,点击next
2 创建项目名称,和保存目录
3 将当前项目变成一个java web应用
点击File->Project Structure->Modules,点击+,选择web如下图
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会生成对应目录
5 在webapp目录下,新建一个index.html测试,在index.html中,body标签内加入
9 接下来,配置spring-mvc 和spring
在项目的pom.xml配置以下:加入阿里云私服,提高下载依赖包速度,
10 pom.xml文件配置以下:将freemarker的依赖包导入,如下图
11 pom文件继续配置 json序列化包
12 加入pom.xml依赖包后,需要将包导入web应用。具体步骤:
点击file->Project structure -> Artifacts,将Available Elements下的包全部选中,右击,选择put into WEB-INF/lib,点击ok.如下图(后续加入pom.xml的依赖包均按照类似的步骤)
13 在web.xml文件配置DispatcherServlet,以及解决spring-mvc中的post请求中文乱码,如下图
(但application.Context*.xml会标红,我们需要在resources文件夹创建applicationContext.xml)
14 在applicationContext.xml中配置以下内容:(尤其是xmlns内容,建议可以将其全部复制)
15 在applicationContext.xml中配置以下内容(在main->java创建com.imooc包存放源代码)
16 applicationContext.xml中配置以下内容(整合freemarker模板引擎)(需要在WEB-INF目录下创建ftl文件夹)
17 测试freemarker和spring-mvc搭建
在webapp目录创建test.html,在body标签输入“测试页面”,然后将test.html改为test.ftl文件,将其移动到WEB-INF/ftl文件夹下面。
在com.imooc.read包下创建controller包,在controller包创建TestController类,如下图
主要是来测试freemarker和json序列化输出
18 启动tomcat,浏览器地址栏输入localhost/test/t1,输出“测试页面”表明freemarker配置成功,
然后浏览器地址栏输入localhost/test/t2输出相应文本,表明json序列化配置成功
19 接下来 整合spring和mybatis
在mysql5.x创建一个数据库,用于测试,如下图
数据库名称imooc_reader,表名test,两个字段,id为自增
20 在pom.xml文件中配置:引入依赖如下图
21 在pom.xml引入阿里巴巴的连接池,配置如下
22 在applicationContext.xml文件配置以下内容
(需要在resoucrce文件夹创建mappers文件夹和mybatis-config.xml,在com.imooc.read包下创建mapper包,存放接口类)
23 在com.imooc.read.mapper包创建TestMapper类
24 在resources文件夹下创建mybatis-config.xml配置
25 加入单元测试依赖包,pom.xml文件配置:
26 进行测试,在mappers文件夹创建test.xml进行测试,test.xml文本如下
27 在com.imooc.read包下创建service包,创建TestService类,测试向数据库导入5条数据
28 在TestService类上,鼠标放在TestService名上,ctrl+shift+T快捷键生成对应的单元测试类,如下,目录在test\java\com\imooc\read\service\TestServiceTest.java,如下:
29 点击batchImport(),右击运行,但出错了 ,控制台显示java.lang.classnotfoundException:javax.servlet.ServletContext,此时需要在pom.xml文件配置如下
重新 点击batchImport(),右击运行,刷新数据库,就可以看到插入的五条数据了。
30 为开发方便,需要加入日志依赖包,pom.xml文件加入
31 在resources文件夹创建logback.xml,配置如下,自定义设置日志输出格式,如下:
32 加入spring事务管理,在项目中的External Libraries中,看是否有sping-tx的依赖,一般在jdbc依赖引入后,会自动加入。在applictionContext.xml配置如下:
事务使用方式,在对应的方式上加入@Transactional
例如:如下,在出现异常时,要么全执行,要么全不执行,先将test表清空,进行测试
清空后的test表
进行事务的测试,
重新在TestServiceTest 类点击batchImport(),右击运行,刷新数据库.
控制台显示
表依旧为空,说明我们的事务管理测试成功,事务进行回滚,达到了预期效果。截至目前,环境就搭建完成了。