一、准备工作:
1、导入jar包
- Spring:
- SpringMVC:
- MyBatis:
- 第三方支持:log4j,pageHelper,AspectJ,jackson,jstl
2、搭建springMVC
(1)web.xml:
- DispatcherServlet
- HiddenHttpMethodFilter
- CharacterEncodingFilter
(2)SpringMVC.xml:
- 扫描控制层组件
- 视图解析器
- Default Servlet
- MVC驱动
- 可选:MultipartResolver,拦截器
二、搭建工作:
3、整合SpringMVC和Spring
(1)web.xml:
- ContextLoaderListener
- context-param
(2)spring.xml:
- 扫描组件(排除控制层)
4、搭建MyBatis:
- 核心配置文件
- mapper接口和mapper映射文件
5、Spring整合MyBatis
spring.xml:
- properties文件的引入
- DataSource数据源的配置
- 事务管理器
- 开启事务驱动
- SqlSessionFactoryBean:管理SqlSession
- MapperScannerConfigurer
三、Spring和SpringMVC的整合事项:
1、为什么需要整合?
- 若不整合:需要将Spring所管理的内容都交给SpringMVC管理,这样会造成业务逻辑混乱。
- 若整合:Spring的配置文件什么时候加载?怎么加载?
- 解决方法:监听器,可以再ServletContext加载时,通过监听器加载spring的配置文件,创建spring容器(Spring提供的监听器:ContextLoaderListener)
2、解决bean被创建两次的问题:在SpringMVC中只扫描控制层,在Spring中通过包含或排除对所扫描的包进行指定。
3、Spring和SpringMVC的关系:Spring是父容器,SpringMVC是子容器。规定:子容器能够调用访问父容器中的Bean,而父容器不能够调用访问子容器中的Bean。