Day41SSM集成

总结

干啥啥不行,追求编程第一名!!
小提示:在做ssm集成时,最好每个关键点进行测试,不要一口气直接整合完毕,不然你会哭的!

三大框架的集成

Mybatis:基于ORM的数据库持久化框架
SpringMvc:表现层【controller + 页面】的框架
Spring:基于IOC和AOP的容器框架,用来整合其他框架

集成思路

集成核心思想:
把当前框架的核心类,交给Spring管理(IOC)。
例如Mybatis中的SqlSession、SqlSssionFactory这样就不用每次都创建这些对象了

集成步骤

1.集成准备:

  1. 创建web工程
  2. 部署项目:将工程根目录路径复制到server.xml中
  3. 创建index.jsp并测试
  4. 导包:详见链接:https://pan.baidu.com/s/1x5Ju4JC2DkCmt4mvV1VFdA
    提取码:ikjs

2.Spring

  1. 检查Spring的Jar包是否导入
  2. 创建资源文件夹目录resources【Source Folder】
  3. 创建Spring的配置文件applicationContext.xml

3.Spring + Mybatis:

  1. 创建数据库,导入表
  2. 编写属性文件jdbc.properties 放在文件夹(resources)中
  3. 将属性文件交给spring管理
  4. 将连接池对象交给spring管理
  5. 编写实体类Xxx domain包
  6. 创建XxxMapper接口 mapper包
  7. 配置mapper映射文件 (文件名同XxxMapper接口,里面写的是sql语句)
  8. spring管理sqlSessionFactory
  9. spring管理mapper接口
  10. 写service层 需在applicationContext.xml中配置 service包的扫描包路径

4.Spring+Mybatis+SpringMvc:

  1. web.xml中配置 :
    监听器listener
    加载加载applicationContext.xml核心配置文件
    前端控制器dispatcherServlet
    加载spring-mvc.xml核心配置文件文件
    过滤器Filter

  2. resources文件夹下创建spring-mvc.xml并配置:
    静态资源放行
    扫描包路径 controller层
    让@requestMapping生效
    视图解析器

  3. 编写Controller

各配置文件具体内容

1.web.xml

  1. 监听器 、 加载applicationcontext.xml
  2. 核心前端控制器 、加载spring-mvc.xml核心配置文件
  3. 过滤器
	<!--1.1 监听器 -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
  	<!-- 加载applicationContext.xml核心配置文件 -->
  	<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
   <!-- 1.2配置核心控制器 -->
	<servlet>
		<servlet-name>dispatcherServlet</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<!-- 加载springmvc核心配置文件 -->
	<init-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:spring-mvc.xml</param-value>
	</init-param>
	<!-- 启动即加载  优先级 -->
	<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>dispatcherServlet</servlet-name>
		<url-pattern>/</url-pattern>
	</servlet-mapping>	
	 <!--1.3配置过滤器Filter  处理字符集编码问题 -->
	<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>

2.spring-mvc.xml

  1. 开启注解扫描 controller层
  2. 放行静态资源
  3. 让注解@requestMapping生效
  4. 视图解析器
	<!-- 1.开启注解扫描!! -->
	<context:component-scan base-package="cn.itsource.controller"></context:component-scan>
	<!-- 2.放行静态资源 -->
	<mvc:default-servlet-handler />
	<!-- 3.让@requestMapping生效 -->
	<mvc:annotation-driven />
	<!-- 4.配置视图解析器 -->
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix" value="/WEB-INF/views/"></property>
		<property name="suffix" value=".jsp"></property>
	</bean>

3.applicationContext.xml

  1. 加载jdbc.properties
  2. spring管理数据库 BasicDataSource
  3. 将sqlSessionFactory交给spring管理
  4. 将Mapper接口交给spring管理
  5. 扫描包路径 service层
	<!-- 1.加载属性配置文件 -->
	<context:property-placeholder location="classpath:jdbc.properties"  />
	<!-- 2.Spring管理数据库BasicDataSource -->
	<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">	
		<property name="driverClassName" value="${jdbc.driverClassName}"></property>
		<property name="url" value="${jdbc.url}"></property>
		<property name="username" value="${jdbc.username}"></property>
		<property name="password" value="${jdbc.password}"></property>
	</bean>	
	<!-- 3.将SqlSessionFactory交给Spring去管理  -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    	<!-- 注入数据源,因为获取连接之后,才能打开会话 -->
		<property name="dataSource" ref="dataSource"></property>
    	<!-- 配置别名 -->
		<property name="typeAliasesPackage" value="cn.itsource.domain"></property>
    	<!-- 加载所有的mapper文件 -->
		<property name="mapperLocations" value="classpath:cn/itsource/mapper/*Mapper.xml"></property>
	</bean>
	<!-- 4.将Mapper接口交给Spring去管理 -->
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<!-- 指定mapper接口的包路径 -->
		<property name="basePackage" value="cn.itsource.mapper"></property>
	</bean>
	<!-- 5.扫描包路径 -->
	<context:component-scan base-package="cn.itsource.service" />
	</beans>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值