Spring+SpringMVC+Mybatis整合(二)

时间:2023-03-09 17:07:45
Spring+SpringMVC+Mybatis整合(二)

目录结构:

aaarticlea/png;base64,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" alt="" />

1.导包

aaarticlea/png;base64,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" alt="" />

2.配置Spring(applicationContext.xml)

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd"> <context:property-placeholder location="classpath:db.properties"/> <!-- 数据库连接池 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="maxActive" value="10" />
<property name="maxIdle" value="5" />
</bean> <!-- Mybatis的工厂 -->
<bean id="sqlSessionFactoryBean" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<!-- 核心配置文件的位置 -->
<property name="configLocation" value="classpath:sqlMapConfig.xml"/>
</bean> <!-- Mapper动态代理开发 扫描 -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 基本包 -->
<property name="basePackage" value="com.itheima.springmvc.dao"/>
</bean> <!-- 注解事务 -->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean> <!-- 开启注解 -->
<tx:annotation-driven transaction-manager="transactionManager"/> </beans>

3.配置mybatis(sqlMapConfig.xml)

 <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 设置别名 -->
<typeAliases>
<!-- 2. 指定扫描包,会把包内所有的类都设置别名,别名的名称就是类名,大小写不敏感 -->
<package name="com.itheima.springmvc.pojo" />
</typeAliases> </configuration>

4.配置SpringMVC

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> <!-- 扫描@Controler @Service -->
<context:component-scan base-package="com.itheima"/> <!-- 处理器映射器 -->
<!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"/> -->
<!-- 处理器适配器 -->
<!-- <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"/> -->
<!-- 注解驱动 -->
<mvc:annotation-driven conversion-service="conversionServiceFactoryBean"/> <!-- 配置Conveter转换器 转换工厂 (日期、去掉前后空格)。。 -->
<bean id="conversionServiceFactoryBean" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<!-- 配置 多个转换器-->
<property name="converters">
<list>
<bean class="com.itheima.springmvc.conversion.DateConveter"/>
</list>
</property>
</bean> <!-- 视图解释器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean> </beans>

 5.web.xml配置spring监听器与springMVC前端控制器

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>springmvc-mybatis</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param> <!-- Spring监听器 -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <!-- 处理POST提交乱码问题 -->
<filter>
<filter-name>encoding</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>encoding</filter-name>
<url-pattern>*.action</url-pattern>
</filter-mapping> <!-- 前端控制器 -->
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 默认找 /WEB-INF/[servlet的名称]-servlet.xml -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
</servlet> <servlet-mapping>
<servlet-name>springmvc</servlet-name>
<!--
1. /* 拦截所有 jsp js png .css 真的全拦截 建议不使用
2. *.action *.do 拦截以do action 结尾的请求 肯定能使用 ERP
3. / 拦截所有 (不包括jsp) (包含.js .png.css) 强烈建议使用 前台 面向消费者 www.jd.com/search /对静态资源放行
-->
<url-pattern>*.action</url-pattern>
</servlet-mapping> </web-app>

6.总结

配置思路:

单独配置spring>单独配置mybatis>单独配置springMVC>mybatis与spring整合>web.xml配置