SSM三大框架的整合
# SSM三大框架的整合
## 整合的思路
**1. jar包的整合**
**2. 配置文件的整合**
## 整合环境的搭建
1. 创建一个web工程
2. 在pom.xml的导入依赖
spring,mybatis,mybatis-spring,spring,springmvc,log4j,mysql驱动,servlet
3. java类的编写
## spring与springMVC的整合
**spring的配置**
1. 配置文件applicationContext.xml的配置
开启包扫描,不需要扫描@Controller
<context:component-scan base-package="com.itcast">
<!--将controller注解扫描过滤掉-->
<context:exclude-filter type="annotation" expression="....Controller">
</context:component-scan>
**springMVC的配置**
1. 配置web.xml文件
* 配置前端控制器,并加载springmvc.xml
* post请求中文乱码过滤器
2. springmvc.xml配置
* 开启对controller的注解扫描
<context:component-scan base-package="com...">
<!--配置只扫描controller-->
<context:include-filter type="annotation" expression="....Controller">
</context:component-scan>
* 配置视图解析器
<bean class="....internalResourceViewResolver">
<property name="prefix" value=""/>
<property name="suffix" value=""/>
</bean>
* 开启springmvc的注解支持
<mvc:annotation-driven/>
**整合**
* 核心:服务器启动时加载spring的applicationContext.xml,初始化spring容器
* 原理,使用监听器监听ServletContext对象,在服务器启动时,ServletContext对象创建时,在监听器中加载spring配置文件,并保存在ServletContext域中.
<!--在web.xml中配置监听器--默认只加载WEB_INF目录下的配置文件-->
<listener>
<listener-class>...ContextLoaderListener</listener-class>
</listener>
<!--需要设置spring配置文件的位置-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
## spring对mybatis的整合
**mybatis的配置**
* sqlMapConfig.xml
* mybatis运行环境
<environments>
* 映射配置文件的加载
<mappers>
<package name="包名"/>
</mappers>
**整合**
* 核心:将mybatis的核心配置文件实现交给spring管理
* 在applicationContext.xml中配置
* 配置连接池
<bean id="dataSource" class="数据库连接池对象">
* 配置sqlSessionFactory的spring容器bean
<bean id="" class="...SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
</bean>
* 配置AccountDao接口所在包---用来进行dao接口的包扫描.并且会自动的为该接口创建一个代理对象存入spring容器中.
<bean id="" class="....MapperScannerConfigurer">
<property name="basePackage" value="cn.itcast.dao"/>
</bean>
* 事务的控制-->使用spring的事务管理
* xml配置
[1. 配置平台事务管理器]
<bean id="transactionManager" class="DataSourceTransactionManager">
<property id="dataSource" ref="dataSource"/>
</bean>
[2. 配置事务通知]
<tx:advice id="" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="find*" read-only="true"/>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
[3. 配置aop增强]
<aop:config>
<aop:advisor advice-ref="" piontcut="切入点表达式">
</aop:config>
这边的注解配置,大家可以对照以前学习的知识去配置,谢谢

浙公网安备 33010602011771号