
一篇文章带你轻松搞定 SpringMVC ,Spring 和 Mybatis 的整合
所以整个过程重要的是靠 Spring 整合两者,将三者关联起来
(2)编写测试方法,进行测试
(3)把
(4)配置 Spring 的声明式事务管理
发布日期:2021-05-07 19:44:13
浏览次数:15
分类:精选文章
本文共 2956 字,大约阅读时间需要 9 分钟。
文章目录
一、搭建整合环境
整合说明:SSM整合可以使用多种方式,咱们会选择XML + 注解的方式
自己写的类可以尽量使用注解,选用的框架的类尽量使用配置问价整合的思路:
- 先搭建整合的环境
- 先把Spring的配置搭建完成
- 再使用Spring整合SpringMVC框架
- 最后使用Spring整合MyBatis框架
每一个环境搭建好之后,需要单独测试下,通过后,再进行下一步操作。

二、搭建Spring框架
保证 Spring 框架在 web 工程中独立运行
(1)编写 spring 配置文件applicationContext.xml
,编写具体的配置信息 
@Test public void run1(){ //1.加载配置文件 ApplicationContext ac = new ClassPathXmlApplicationContext("classpath:applicationContext.xml"); //2.获取对象 AccountService as = (AccountService) ac.getBean("accountService"); //3.调用方法 as.findAll(); }
三、搭建SpringMVC框架
(1)在web.xml
中配置DispatcherServlet前端控制器
web.xml
中配置DispatcherServlet过滤器解决中文乱码 (3)创建springmvc.xml
的配置文件,编写配置文件 (4)测试SpringMVC的框架搭建是否成功 编写index.jsp和list.jsp编写,超链接 创建AccountController类,编写方法,进行测试
四、Spring整合SpringMVC框架
applicationContext.xml
的配置文件,在web.xml
中配置 ContextLoaderListener监听器(该监听器只能加载 WEB-INF 目录下的applicationContext.xml
的配置文件) 为了保证配置文件都在 resources下方便管理,这里还需另外配置文件的路径
org.springframework.web.context.ContextLoaderListener contextConfigLocation classpath:applicationContext.xml
(3)在controller中注入service对象,调用service对象的方法进行测试

五、搭建 MyBatis 的环境并整合到 spring 中
(1)在 web 项目中编写SqlMapConfig.xml
的配置文件,编写核心配置文件
(2)在 AccountDao 接口的方法上添加注解,编写SQL语句

SqlMapConfig.xml
配置文件中的内容配置到applicationContext.xml
配置文件中 
六、代码文件
@Service("accountService")public class AccountServiceImpl implements AccountService { @Autowired private AccountDao accountDao; @Override public ListfindAll() { System.out.println("业务层:查询所有账户..."); return accountDao.findAll(); } @Override public void saveAccount(Account account) { System.out.println("业务层:保存帐户..."); accountDao.saveAccount(account); }}
(2)AccountDao.java
/** * 帐户dao接口 */@Repositorypublic interface AccountDao { /** * 查询所有账户 * @return */ @Select("select * from account") public ListfindAll(); /** * 保存账户信息 * @param account */ @Insert("insert into account(id,name,money)values(#{id},#{name},#{money})") public void saveAccount(Account account);}
(3)AccountController.java
/** * 账户控制层 */@Controller@RequestMapping("/account")public class AccountController { @Autowired private AccountService accountService; @RequestMapping("/findAll") public String findAll(Model model){ System.out.println("表现层:查询所有账户"); Listlist = accountService.findAll(); model.addAttribute("list",list); return "list"; } @RequestMapping("/save") public String save(Account account){ System.out.println("表现层:保存账户"); accountService.saveAccount(account); //保存之后重定向到查询方法 return "redirect:/account/findAll"; }}
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2025年04月06日 05时29分20秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CMake自学记录,看完保证你知道CMake怎么玩!!!
2021-05-08
Eigen库中vector.transpose()函数什么意思
2021-05-08
ORB-SLAM2:LocalMapping线程学习随笔【李哈哈:看看总有收获篇】
2021-05-08
ORB-SLAM2:LoopClosing线程学习随笔【李哈哈:看看总有收获篇】
2021-05-08
牛客练习赛56 D 小翔和泰拉瑞亚(线段树)
2021-05-08
hdu6434 Problem I. Count(数论)(好题)
2021-05-08
NC15553 数学考试(线性DP)
2021-05-08
MySQL两阶段提交、崩溃恢复与组提交
2021-05-08
MySQL隐藏文件.mysql_history风险
2021-05-08
如何通过文件解析MySQL的表结构
2021-05-08
ClickHouse 适用场景调研文档
2021-05-08
C++的编译过程及原理
2021-05-08
Vue——父组件将方法传递给子组件
2021-05-08
文件加密软件对于企业发展而言有何优势?局域网数据防泄密工作应该如何入手?
2021-05-08
Beautiful Soup基础入门
2021-05-08
点击控制盒子移动
2021-05-08