English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Configuration d'intégration de springmvc et mybatis avec exemple détaillé

La beauté de la simplicité, springmvc, mybatis est une bonne solution d'intégration simple, capable de répondre aux besoins des projets courants. Pendant les temps libres, je partage le fichier de configuration du projet pour que tout le monde puisse le consulter :

1D'abord, regardons la dépendance du fichier 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>
<!-- Paquet mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!--Plugin 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">
<!-- Automatically scan all classes under the controller package, if @Controller is injected as a bean -->
<context:component-scan base-package="com.demo.report.web.controller" />
<!-- Avoid the execution of AJAX by IE, returning JSON to download files -->
<bean id="mappingJacksonHttpMessageConverter">
class="org.springframework.http.converter.json.MappingJackson"2HttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
<!-- Enable the annotation feature of Spring MVC, complete the mapping of requests and annotation POJOs -->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<!-- JSON converter -->
<ref bean="mappingJacksonHttpMessageConverter"> />
</list>
</property>
</bean>
<!-- Parse the model view name, that is, add prefixes and suffixes to the model view name -->
<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>
<!-- Configurer for multiple file upload 
<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
">
<!-- Configuration de la source de données Utilise le réservoir de données 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}"> />
<!-- Taille initiale des connexions -->
<property name="initialSize" value="0"> />
<!-- Nombre maximum de connexions utilisées dans le pool -->
<property name="maxActive" value="20"> />
<!-- Nombre minimum de connexions空闲 -->
<property name="minIdle" value="0"> />
<!-- Temps d'attente maximum pour obtenir la connexion -->
<property name="maxWait" value="60000" />
<property name="poolPreparedStatements" value="true"> />
<property name="maxPoolPreparedStatementPerConnectionSize"}
value="33" />
<!-- Used to check valid sql -->
<property name="validationQuery" value="${validationQuery}" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="testWhileIdle" value="true" />
<!-- Configure the interval before performing a check, to check for idle connections that need to be closed, in milliseconds -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- Configure the minimum survival time of a connection in the pool, in milliseconds -->
<property name="minEvictableIdleTimeMillis" value="25200000" />
<!-- Enable the removeAbandoned feature -->
<property name="removeAbandoned" value="true" />
<!-- 1800 seconds, that is30 minutes -->
<property name="removeAbandonedTimeout" value="1800" />
<!-- Output error logs when closing abandoned connections -->
<property name="logAbandoned" value="true" />
<!-- Monitor the database -->
<property name="filters" value="mergeStat" />
</bean>
<!-- myBatis file -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- Automatically scan the entity directory, omitting manual configuration in the 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>
<!-- Configurer l'gestionnaire des transactions -->
<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>
<filtre
<filtre-name>encodingFilter</filtre-name>
<filtre-class>org.springframework.web.filter.CharacterEncodingFilter</filtre-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>
</filtre>
<filtre-mapping>
<filtre-name>encodingFilter</filtre-name>
<url-pattern>/*</url-pattern>
</filtre-mapping>
<listener
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- L'écouteur de prévention du débordement de mémoire 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>
<!-- Configurer le temps d'expiration de la session, en minutes -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

L'utilisation du pool de données druid, la configuration détaillée dans web peut être consultée dans le code.

Voici l'explication détaillée de l'intégration de configuration de springmvc et mybatis que l'éditeur vous présente. J'espère que cela vous sera utile. Si vous avez des questions, n'hésitez pas à me laisser un message, je vous répondrai à temps. Je vous remercie également de votre soutien au site de tutoriels à hurlement !

Déclaration : le contenu de cet article est hébergé sur Internet, propriété des auteurs respectifs, partagé par les utilisateurs d'Internet et téléversé eux-mêmes. Ce site n'est pas propriétaire des droits d'auteur, n'a pas été édité par l'homme, et n'assume aucune responsabilité juridique. Si vous trouvez du contenu présumé de violation de droits d'auteur, veuillez envoyer un e-mail à : notice#oldtoolbag.com (veuillez remplacer # par @ lors de l'envoi d'un e-mail pour signaler une violation, et fournir des preuves pertinentes. Une fois confirmée, ce site supprimera immédiatement le contenu présumé de violation de droits d'auteur.)

Vous pourriez aussi aimer