当前位置: 移动技术网 > IT编程>开发语言>Java > springmvc与mybatis集成配置实例详解

springmvc与mybatis集成配置实例详解

2019年07月22日  | 移动技术网IT编程  | 我要评论
简单之美,springmvc,mybatis就是一个很好的简单集成方案,能够满足一般的项目需求。闲暇时间把项目配置文件共享出来,供大家参看: 1.首先我们来看下依赖的po

简单之美,springmvc,mybatis就是一个很好的简单集成方案,能够满足一般的项目需求。闲暇时间把项目配置文件共享出来,供大家参看:

1.首先我们来看下依赖的pom:

<!-- spring -->
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-core</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-beans</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-context</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-tx</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-web</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-webmvc</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-jdbc</artifactid>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupid>org.springframework</groupid>
<artifactid>spring-test</artifactid>
<version>${spring.version}</version>
<scope>test</scope>
</dependency>
<!-- mybatis 包 -->
<dependency>
<groupid>org.mybatis</groupid>
<artifactid>mybatis</artifactid>
<version>3.2.8</version>
</dependency>
<!--mybatis spring 插件 -->
<dependency>
<groupid>org.mybatis</groupid>
<artifactid>mybatis-spring</artifactid>
<version>1.2.2</version>
</dependency>
<!-- mysql连接 -->
<dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid>
<version>5.1.34</version>
</dependency>
<!-- 数据源 -->
<dependency>
<groupid>com.alibaba</groupid>
<artifactid>druid</artifactid>
<version>1.0.12</version>
</dependency>
<dependency>
<groupid>org.aspectj</groupid>
<artifactid>aspectjweaver</artifactid>
<version>1.8.4</version>
</dependency>
<!-- log4j -->
<dependency>
<groupid>log4j</groupid>
<artifactid>log4j</artifactid>
<version>1.2.17</version>
</dependency>
<!-- servlet -->
<dependency>
<groupid>javax.servlet</groupid>
<artifactid>servlet-api</artifactid>
<version>3.0-alpha-1</version>
</dependency>
<dependency>
<groupid>javax.servlet</groupid>
<artifactid>jstl</artifactid>
<version>1.2</version>
</dependency>
<!-- json -->
<dependency>
<groupid>org.codehaus.jackson</groupid>
<artifactid>jackson-mapper-asl</artifactid>
<version>1.9.13</version>
</dependency>
<dependency>
<groupid>com.alibaba</groupid>
<artifactid>fastjson</artifactid>
<version>1.2.3</version>
</dependency>
<dependency>
<groupid>com.fasterxml.jackson.core</groupid>
<artifactid>jackson-annotations</artifactid>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupid>com.fasterxml.jackson.core</groupid>
<artifactid>jackson-core</artifactid>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupid>com.fasterxml.jackson.core</groupid>
<artifactid>jackson-databind</artifactid>
<version>${jackson.version}</version>
</dependency>
<!-- 文件上传 -->
<dependency>
<groupid>commons-io</groupid>
<artifactid>commons-io</artifactid>
<version>2.4</version>
</dependency>
<dependency>
<groupid>commons-fileupload</groupid>
<artifactid>commons-fileupload</artifactid>
<version>1.2.2</version>
</dependency>

spring 选用的是4.1.4的版本,根据系统需要我们可以选择自己适合的版本。

2.相关的配置文件:

a)spring.xml

<?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:context="http://www.springframework.org/schema/context"
xsi:schemalocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.1.xsd">
<!--引入配置属性文件 -->
<context:property-placeholder location="classpath:config.properties" />
<!--自动扫描含有@service将其注入为bean -->
<context:component-scan base-package="com.demo.report.web.service" />

b)spring-mvc.xml

<?xml version="1.0" encoding="utf-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc" 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"
xsi:schemalocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-4.1.xsd 
http://www.springframework.org/schema/mvc 
http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd">
<!-- 自动扫描controller包下的所有类,如果@controller注入为bean -->
<context:component-scan base-package="com.demo.report.web.controller" />
<!-- 避免ie执行ajax时,返回json出现下载文件 -->
<bean id="mappingjacksonhttpmessageconverter"
class="org.springframework.http.converter.json.mappingjackson2httpmessageconverter">
<property name="supportedmediatypes">
<list>
<value>text/html;charset=utf-8</value>
</list>
</property>
</bean>
<!-- 启动spring mvc的注解功能,完成请求和注解pojo的映射 -->
<bean
class="org.springframework.web.servlet.mvc.annotation.annotationmethodhandleradapter">
<property name="messageconverters">
<list>
<!-- json转换器 -->
<ref bean="mappingjacksonhttpmessageconverter" />
</list>
</property>
</bean>
<!-- 对模型视图名称的解析,即在模型视图名称添加前后缀 -->
<bean
class="org.springframework.web.servlet.view.internalresourceviewresolver">
<property name="viewclass"
value="org.springframework.web.servlet.view.jstlview" />
<property name="prefix" value="" />
<property name="suffix" value="" />
</bean>
<!-- 配置多文件上传 
<bean id="multipartresolver"
class="org.springframework.web.multipart.commons.commonsmultipartresolver">
<property name="defaultencoding">
<value>utf-8</value>
</property>
<property name="maxuploadsize">
<value>32505856</value>
</property>
<property name="maxinmemorysize">
<value>4096</value>
</property>
</bean>-->
</beans>

c)spring-mybatis.xml

<?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:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemalocation="
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-4.1.xsd
http://www.springframework.org/schema/aop 
http://www.springframework.org/schema/aop/spring-aop-4.1.xsd
">
<!-- 配置数据源 使用的是druid数据源 -->
<bean name="datasource" class="com.alibaba.druid.pool.druiddatasource"
init-method="init" destroy-method="close">
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<!-- 初始化连接大小 -->
<property name="initialsize" value="0" />
<!-- 连接池最大使用连接数量 -->
<property name="maxactive" value="20" />
<!-- 连接池最小空闲 -->
<property name="minidle" value="0" />
<!-- 获取连接最大等待时间 -->
<property name="maxwait" value="60000" />
<property name="poolpreparedstatements" value="true" />
<property name="maxpoolpreparedstatementperconnectionsize"
value="33" />
<!-- 用来检测有效sql -->
<property name="validationquery" value="${validationquery}" />
<property name="testonborrow" value="false" />
<property name="testonreturn" value="false" />
<property name="testwhileidle" value="true" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timebetweenevictionrunsmillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minevictableidletimemillis" value="25200000" />
<!-- 打开removeabandoned功能 -->
<property name="removeabandoned" value="true" />
<!-- 1800秒,也就是30分钟 -->
<property name="removeabandonedtimeout" value="1800" />
<!-- 关闭abanded连接时输出错误日志 -->
<property name="logabandoned" value="true" />
<!-- 监控数据库 -->
<property name="filters" value="mergestat" />
</bean>
<!-- mybatis文件 -->
<bean id="sqlsessionfactory" class="org.mybatis.spring.sqlsessionfactorybean">
<property name="datasource" ref="datasource" />
<!-- 自动扫描entity目录, 省掉configuration.xml里的手工配置 -->
<property name="mapperlocations" value="classpath:com/demo/report/web/mapper/*.xml" />
</bean>
<bean class="org.mybatis.spring.mapper.mapperscannerconfigurer">
<property name="basepackage" value="com.feidai.report.web.mapper" />
<property name="sqlsessionfactorybeanname" value="sqlsessionfactory" />
</bean>
<!-- 配置事务管理器 -->
<bean id="transactionmanager"
class="org.springframework.jdbc.datasource.datasourcetransactionmanager">
<property name="datasource" ref="datasource" />
</bean>

d)web.xml

<display-name>springmvc_mybatis_demo</display-name>
<context-param>
<param-name>contextconfiglocation</param-name>
<param-value>classpath:spring.xml,classpath:spring-mybatis.xml</param-value>
</context-param>
<filter>
<filter-name>encodingfilter</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>
<init-param>
<param-name>forceencoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingfilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<listener-class>org.springframework.web.context.contextloaderlistener</listener-class>
</listener>
<!-- 防止spring内存溢出监听器 -->
<listener>
<listener-class>org.springframework.web.util.introspectorcleanuplistener</listener-class>
</listener>
<servlet>
<description>spring mvc servlet</description>
<servlet-name>rest</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>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>rest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>druidstatview</servlet-name>
<servlet-class>com.alibaba.druid.support.http.statviewservlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>druidstatview</servlet-name>
<url-pattern>/druid/*</url-pattern>
</servlet-mapping>
<!-- 配置session超时时间,单位分钟 -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

使用了druid的数据源,在web中的详细配置可以参看代码。

以上所述是小编给大家介绍的springmvc与mybatis集成配置实例详解,希望对大家有所帮助

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网