SSM整合

需要对mybatis spring springmvc有一些的了解
整合介绍:
需要mybatis-spring整合 然后在加上springmvc就可以

一:mybatis-spring整合:在前面spring快速复习中有介绍这里做代码演示
	1.创建ioc容器applicationContext.xml 
		扫描注解是必要的:这里仅仅扫描service
		<context:component-scan base-package="com.itheima.service"></context:component-scan>
	2.开始在容器中注入属性

(重点)3.明确主要目的:为了调用动态代理对象
次要目的:配置事务管理器
4.分析动态代理对象的注入容器中 这个类是MapperScannerConfigurer,
1.必须需要(工厂)属性SqlSessionFactoryBean————会自动寻找(不配置也行)
2.需要为dao层接口配置动态代理对象注入属性
5.上面需要SqlSessionFactoryBean所以我们需要提前配置SqlSessionFactoryBean
bean工厂分析:
1.需要数据源
2.需要配置别名(方便书写)
3.若是映射文件和dao文件路径不一致需要指定路径
4.因为数据库名称单词间喜欢用下划线分隔 所以需要配置驼峰命名规则 举例:数据库user_id 属性userId可以自动映射
以下为 将SqlSessionFactoryBean工厂注入容器 代码演示




				<!--如果映射文件与dao层接口不在同一目录下 需要手动映射-->
				<!--<property name="mapperLocations" value="classpath:com/itheima/dao/*.xml" ></property>-->
		
				<!--需要配置驼峰命名规则-->
				<property name="configuration">
					<bean class="org.apache.ibatis.session.Configuration">
						<property name="mapUnderscoreToCamelCase" value="true"/>
					</bean>
				</property>
			</bean>
	6.工厂内容我们观察需要数据源 配置数据源不在这演示 可自行百度
	
	7.这里我们已经完成了主要目的 现在我们来完成次要目的 事务
	8.分析 事务:事务需要事务管理器(mybatis的事务管理器是DataSourceTransactionManager)  事务管理器又需要数据源(dataSource)
	9.配置事务管理器
		    <!--事务管理器 需要注入dataSource-->
			<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
				<property name="dataSource" ref="dataSource"></property>
			</bean>
	10.因为我们使用的是注解事务支持 所以需要->开启事务注解驱动
		<tx:annotation-driven transaction-manager="transactionManager"></tx:annotation-driven>
	注意:transactionManager是固定的 所以在配置事务管理器的时候名字必须一致
二:mybatis-spring-springmvc整合:
	分析:因为上面已经将spring-mybatis整合所以这里我们仅仅加入springmvc就哈皮了
		同样的我们需要为springmvc创建一个容器spring-mvc.xml
		(其实我们可以和上面用同一个 不过为了好区分这里做了分离:注意->分离后两个容器加载后续会有讲解)
	1.首先开启包扫描 扫描controller层
	2.在容器中配置spring三大组件:处理器适配器 处理器映射器 视图解析器(不过后续我们都是异步请求不需要配视图解析器)
	在springMvc配置这个标签会自动帮我们搞定 处理器映射器 处理器适配器 <mvc:annotation-driven></mvc:annotation-driven>
	3.这里介绍:“/”会拦除jsp以外的请求因为我们不是前后端分离 (所以需要释放资源)springmvc也是一个注解帮忙搞定
		<!--释放静态资源-->
		<mvc:default-servlet-handler></mvc:default-servlet-handler>
		或者选一个即可
		<!-- 释放静态资源 -->
		<mvc:resources location="/js/" mapping="/js/**"/>
		<mvc:resources location="/css/" mapping="/css/**"/>
		<mvc:resources location="/img/" mapping="/img/**"/>
	4.springmvc容器配置这里已经讲解完了 
		1.下面配置web.xml核心中央控制器DispatcherServlet
		注意这里需要加载spring-mybatis容器和spingmvc容器通过<init-param>标签
		这里需要去复习容器的加载三种方式 <import>标签 或写多个xml路径加载
		或者创建监听器然后指定文件路径
			<!--核心-->
			<servlet>
				<servlet-name>DispatcherServlet</servlet-name>
				<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
				<init-param>
					<param-name>contextConfigLocation</param-name>
					<param-value>classpath:spring-mvc.xml</param-value>
				</init-param>
			</servlet>
			<servlet-mapping>
				<servlet-name>DispatcherServlet</servlet-name>
				<url-pattern>/</url-pattern>
			</servlet-mapping>
	5.web.xml配置编码 通过过滤器来编码格式
		<!--编码设置-->
		<filter>
			<filter-name>CharacterEncodingFilter</filter-name>
			<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
			<init-param>
				<param-name>encoding</param-name>
				<param-value>utf-8</param-value>
			</init-param>
		</filter>
		<filter-mapping>
			<filter-name>CharacterEncodingFilter</filter-name>
			<url-pattern>/*</url-pattern>
		</filter-mapping>
posted @ 2020-12-21 11:48  饭小乖  阅读(73)  评论(0编辑  收藏  举报