此文章主要有以下几个知识点:
一.如何创建 Maven的Web 工程
二.整合SSM(Spring,SpringMvc,Mybatis),包括所有的配置文件
三.用 mybatis 逆向工程生成对应的文件
四.用spring test 单元测试测试最后的整合结果
代码github地址:https://github.com/liuxiaoshi/ssm_maven
一.如何创建 Maven的Web 工程
首先新建一个Maven Project
选上红色部分
选择打war
成功创建出Maven 工程,接下来要把工程转换为web工程
新建的工程点击右键 project,选择project facets ,把 Dynamic web Module 前面的勾选去掉,然后点击 Apply
然后再把Dynamic web Module前面的勾选选中,则下方会出来红色部分的选项
点击红色部分
修改红色部分的内容为 src/main/webapp 同时勾选生成web.xml.
至此 maven web工程创建完成。
测试运行情况.webapp文件夹下新建个jsp 。此时新建的jsp 文件会报错
解决 在pom.xml 加入 servlet 的依赖包
此时对应的jsp报错消失。运行tomcat ,打开对应的地址
此时,web工程正式创建成功。
二.整合SSM(Spring,SpringMvc,Mybatis),包括所有的配置文件(配置pom.xml,自己加入对应的依赖包。)
1. 配置web.xml
1.1配置启动spring的 容器
修改location 为相应的启动xml
classpath:applicationContext.xml
Resources 创建
1.2 配置 springmvc的前端控制器
可以直接在location 配置指定的 springmvc配置文件 也可以在web.xml 同级的目录下
取跟 servlet 同名加上-servlet的配置文件
去掉
修改 servlet-name为lxsDispatcherServlet,同时在 WEB-INF 下 新建个lxsDispatcherServlet-servlet
改为 拦截所有请求
1.3 配置编码
1.4 配置支持rest风格的
2.Springmvc 的配置文件
2.1 创建对应的java 包
bean 存放pojo contoller 存放控制器 dao 存放 mybatis Dao类 service 为对应接口 impl 为对应接口实现类
2.2 配置扫描包
2.3 配置视图解析器:WEB-INF下创建views文件夹用于放文件
2.4 配置其他
3. Spring 的配置文件
3.1.数据源的配置
Resources下新建dbconfig.properties
3.2.扫描包
3.3 配置与mybatis 的整合
在resources下建文件夹 mapper存放 所有mapper,建 mybatis-config.xml存放全局配置文件
3.4 事务管理器配置
3.5 mybatis-config.xml 全局配置
至此,SSM整合的配置文件已经配置完成
三.用 mybatis 逆向工程生成对应的文件
3.1.Pom.xml 加入 逆向工程对应的依赖包
3.2 工程中加入对应的 xml 配置信息 mbg.xml
数据库建张学生表好测试生成对应的文件
3.3 创建 MgbTest 类生成对应的 bean dao 和 mapper
运行 则对应的文件夹出来 bean ,dao,mapper等文件
至此 逆向工程生成对应的文件完成
四.用spring test 单元测试测试最后的整合结果
4.1 创建 MybatisTest 测试 上面的配置以及生成的相应文件是否正确
运行测试类 数据库里生成了对应的数据 。说明spring 和 mybatis 整合成功
4.2 模拟发送请求 测试 spring,springmv和 mybatis 整合情况
controller 新建 StudentController ,通过 /studs 请求 ,调用StusentService 这个Service去调用 Dao 层的studentMapper 获得对应数据
StudentController 类:
StusentService类
编写对应的测试类发送/studs 测试整合结果
创建 SpringMvcTest 测试类
运行测试得到结果
数据里正好是四条数据
至此,SSM整合测试通过
最后贴上 整个maven 工程的 结构图
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步