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

Configuración de integración de springmvc y mybatis con ejemplos detallados

La simplicidad es la belleza, springmvc y mybatis es una excelente 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, echemos un vistazo a la dependencia pom:

<!-- spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<versión>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<versión>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<versión>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<versión>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<versión>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<versión>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<versión>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-pruebas</artifactId>
<versión>${spring.version}</version>
<alcance>pruebas</alcance>
</dependency>
<!-- paquete mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.8</version>
</dependency>
<!--plugin de 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 seleccionada por spring es4.1.4la versión, según las necesidades del sistema, podemos elegir la versión adecuada.

2los archivos de configuración relacionados son:

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-ubicación del marcador de posición="classpath:config.properties" />
<!--automáticamente escanea los archivos 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">
<!-- escanear automáticamente todos los archivos en el paquete controller, si se inyecta @Controller como bean -->
<context:component-scan base-package="com.demo.report.web.controller" />
<!-- evitar que IE ejecute AJAX y descargue archivos al devolver 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>
<!-- activar la función de anotación de Spring MVC, completar el mapeo de solicitud y POJO anotado -->
<bean
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<!-- convertidor JSON -->
<ref bean="mappingJacksonHttpMessageConverter"> />
</list>
</property>
</bean>
<!-- para resolver el nombre de la vista del modelo, es decir, agregar prefijo y sufijo al nombre de la vista del modelo -->
<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>
<!-- configurar la carga múltiple de varios archivos 
<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
">
<!-- Configuración de la fuente de datos Utiliza el pool de datos 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}"> />
<!-- Tamaño inicial de las conexiones -->
<property name="initialSize" value="0"> />
<!-- Número máximo de conexiones utilizadas en el pool -->
<property name="maxActive" value="20"> />
<!-- Mínimo de conexiones idlas en el pool -->
<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 probar consultas SQL válidas -->
<property name="validationQuery" value="${validationQuery}" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="testWhileIdle" value="true" />
<!-- Configura el intervalo de tiempo para realizar una verificación, para cerrar conexiones inactivas, en milisegundos -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- Configura el tiempo mínimo de vida 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 abiertas, registrar el error en el log -->
<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" />
<!-- Automáticamente escanea el directorio entity, eliminando 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>
<!-- prevenir el listener de desbordamiento de memoria de 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>
<!-- 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 de druid, la configuración detallada en el web se puede ver en el código.

Lo mencionado anteriormente es una explicación detallada de la configuración de integración de springmvc y mybatis presentada por el editor. Esperamos que sea útil para todos. Si tiene alguna pregunta, no dude en dejar un mensaje, el editor responderá a tiempo. Muchas gracias por el apoyo a la página web de la tutorial de clamor!

Declaración: El contenido de este artículo se ha obtenido de Internet, pertenece al propietario original, ha sido contribuido y subido por usuarios de Internet de manera autónoma. Este sitio no posee los derechos de propiedad, no ha sido editado artificialmente y no asume ninguna responsabilidad legal. Si encuentra contenido sospechoso de infracción de derechos de autor, le invitamos a enviar un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar, y proporcionar evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará