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

Ejemplo de configuración de integración de springmvc mybatis

La belleza de la simplicidad, springmvc, mybatis es una buena solución de integración simple, que puede satisfacer las necesidades de proyectos generales. En mi tiempo libre, comparto el archivo de configuración del proyecto para que todos lo puedan ver:

1.Primero, veamos la dependencia del 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>
 <!-- Paquete 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>
 <!-- Conexión mysql -->
 <dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.34</version>
 </dependency>
 <!-- Fuente de datos -->
 <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>
 <!-- Subida de archivos -->
 <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>

La versión elegida por spring es4.1.4versión, según las necesidades del sistema, podemos elegir la versión adecuada.

2.Archivos de configuración relacionados:

    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">
 <!--Introduce el archivo de propiedades de configuración -->
 <context:property-placeholder location="classpath:config.properties" />
 <!--Escanea automáticamente los que contienen @Service e inyecta como 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.MappingJackson"2HttpMessageConverter">
 <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" />
 <!-- Mínimo de conexiones libres en la piscina -->
 <property name="minIdle" value="0"> />
 <!-- Tiempo máximo de espera para obtener la conexión -->
 <property name="maxWait" value="60000" />
 <property name="poolPreparedStatements" value="true"> />
 <property name="maxPoolPreparedStatementPerConnectionSize">
  value="33" />
 <!-- Usado para verificar sql válido -->
 <property name="validationQuery" value="${validationQuery}"> />
 <property name="testOnBorrow" value="false"> />
 <property name="testOnReturn" value="false"> />
 <property name="testWhileIdle" value="true"> />
 <!-- Configurar el intervalo de tiempo para realizar una verificación, para detectar conexiones libres que deben cerrarse, en milisegundos -->
 <property name="timeBetweenEvictionRunsMillis" value="60000" />
 <!-- Configurar el tiempo mínimo de supervivencia de una conexión en la piscina, en milisegundos -->
 <property name="minEvictableIdleTimeMillis" value="25200000" />
 <!-- Activar la función removeAbandoned -->
 <property name="removeAbandoned" value="true"> />
 <!-- 1800 segundos, es decir30 minutos -->
 <property name="removeAbandonedTimeout" value="1800" />
 <!-- Al cerrar conexiones abandonadas, escribir el registro de errores -->
 <property name="logAbandoned" value="true"> />
 <!-- Monitorear la base de datos -->
 <property name="filters" value="mergeStat"> />
 </bean>
 <!-- Archivo myBatis -->
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
 <property name="dataSource" ref="dataSource" />
 <!-- Escanear automáticamente el directorio entity, ahorrando la configuración manual en el archivo 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>
 <!-- Configurar el administrador de transacciones -->
 <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>
 <!-- Evitar que el listener de desbordamiento de memoria de spring se sobresature -->
 <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>
 <!-- Configurar el tiempo de expiración de la sesión, la unidad es minuto -->
 <session-config>
 <session-timeout>30</session-timeout>
 </session-config>
 <welcome-file-list>
 <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

Se utiliza la fuente de datos druid, la configuración detallada en web se puede ver en el código.

 Esta es la recopilación de información sobre la configuración de la integración de springmvc mybatis, continuaremos complementando información relevante, gracias por el apoyo de todos a este sitio!

Declaración: El contenido de este artículo se obtiene de la red, es propiedad del autor original, el contenido se contribuye y sube por los usuarios de Internet, este sitio no posee los derechos de propiedad, no se ha editado artificialmente y no asume responsabilidades legales relacionadas. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, reemplace # con @ para denunciar y proporcione evidencia relevante. Si se verifica, este sitio eliminará inmediatamente el contenido sospechoso de infracción de derechos de autor.)

Te gustará