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

Beispiel für die Integration und Konfiguration von springmvc und mybatis

Einfachheit ist Schönheit, springmvc, mybatis ist ein guter einfacher Integrationsplan, der die Anforderungen eines durchschnittlichen Projekts erfüllen kann. In der Freizeit werde ich die Projekt-Konfigurationsdatei teilen, damit alle sie überprüfen können:

1.Zunächst sehen wir uns die Abhängigkeiten im pom an:

<!-- 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-Paket -->
 <dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis/artifactId>
  <version>3.2.8</version>
 </dependency>
 <!--MyBatis-Spring-Plugin -->
 <dependency>
  <groupId>org.mybatis</groupId>
  <artifactId>mybatis-spring</artifactId>
  <version>1.2.2</version>
 </dependency>
 <!-- MySQL-Verbindung -->
 <dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
  <version>5.1.34</version>
 </dependency>
 <!-- Datenquelle -->
 <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>
 <!-- Dateiupload -->
 <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 wählt4.1.4Version, je nach Systemanforderungen können wir die für uns geeignete Version auswählen.

2.zugehörige Konfigurationsdateien:

    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">
 <!--Einführung der Konfigurationsdatei -->
 <context:property-placeholder location="classpath:config.properties" />
 <!--Automatische Scannung von Dateien, die @Service enthalten, um sie als Bean zu injizieren -->
 <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">
 <!-- Automatische Scannung aller Klassen im Controller-Paket, falls @Controller injiziert wird als Bean -->
 <context:component-scan base-package="com.demo.report.web.controller" />
 <!-- Vermeidung der Ausführung von AJAX durch IE, wenn JSON zurückgegeben wird, wird eine Datei heruntergeladen -->
 <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>
 <!-- Aktivierung der Annotierungsfunktion von Spring MVC, um die Abbildung von Anfragen und Annotierten POJO abzuschließen -->
 <bean
 class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
 <property name="messageConverters">
  <list>
  <!-- JSON-Konverter -->
  <ref bean="mappingJacksonHttpMessageConverter" />
  </list>
 </property>
 </bean>
 <!-- Die Analyse des Namens der Modellansicht, d.h. das Hinzufügen von Prä- und Suffixen zum Namen der Modellansicht -->
 <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" />
 <!-- Minimale Anzahl der freien Verbindungen im Pool -->
 <property name="minIdle" value="0"> />
 <!-- Maximale Wartezeit für die Verbindungserstellung -->
 <property name="maxWait" value="60000" />
 <property name="poolPreparedStatements" value="true"> />
 <property name="maxPoolPreparedStatementPerConnectionSize">
  value="33" />
 <!-- Wird verwendet, um gültige SQL-Abfragen zu überprüfen -->
 <property name="validationQuery" value="${validationQuery}"> />
 <property name="testOnBorrow" value="false"> />
 <property name="testOnReturn" value="false"> />
 <property name="testWhileIdle" value="true"> />
 <!-- Konfigurieren Sie die Zeitspanne, in der ein Abfragevorgang durchgeführt wird, um die zu schließenden leeren Verbindungen zu überprüfen, die in Millisekunden angegeben ist -->
 <property name="timeBetweenEvictionRunsMillis" value="60000" />
 <!-- Konfigurieren Sie die Mindestlebensdauer einer Verbindung im Pool, die in Millisekunden angegeben ist -->
 <property name="minEvictableIdleTimeMillis" value="25200000" />
 <!-- Die Funktion 'removeAbandoned' aktivieren -->
 <property name="removeAbandoned" value="true"> />
 <!-- 1800 Sekunden, das ist also30 Minuten -->
 <property name="removeAbandonedTimeout" value="1800" />
 <!-- Fehlerprotokoll beim Schließen von abgebrochenen Verbindungen ausgeben -->
 <property name="logAbandoned" value="true"> />
 <!-- Datenbanküberwachung -->
 <property name="filters" value="mergeStat"> />
 </bean>
 <!-- myBatis-Datei -->
 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
 <property name="dataSource" ref="dataSource" />
 <!-- Automatische Scannung des Verzeichnisses 'entity', um die manuelle Konfiguration in 'Configuration.xml' zu vermeiden -->
 <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>
 <!-- Konfiguration des Transaktionsmanagers -->
 <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>
 <!-- Verhinderung von Spring-Memory-Überlauf-Beobachter -->
 <listener
 <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
 </listener>
 <servlet
 <description>spring mvc servlet</beschreibung>
 <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>
 <!-- Konfigurieren Sie die Session-Ablaufzeit, Einheit Minuten -->
 <session-config>
 <session-timeout>30</session-timeout>
 </session-config>
 <welcome-file-list>
 <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>

Die Datenquelle druid wird verwendet, die detaillierte Konfiguration im Web kann im Code nachgelesen werden.

 Dies ist die Zusammenfassung der Informationen zur Integration von springmvc mybatis, weitere Informationen werden nach und nach hinzugefügt, vielen Dank für die Unterstützung unserer Website!

Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet entnommen und gehört dem Urheberrechtlichem Inhaber. Der Inhalt wurde von Internetbenutzern freiwillig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht von Hand bearbeitet. Diese Website übernimmt keine Haftung für rechtliche Verantwortlichkeiten. Wenn Sie verdächtige urheberrechtliche Inhalte finden, senden Sie bitte eine E-Mail an: notice#oldtoolbag.com (Bitte ersetzen Sie # durch @ beim Senden von E-Mails, um eine Beschwerde zu melden. Fügen Sie bitte relevante Beweise bei und falls nachgewiesen, wird die Website den涉嫌侵权的内 容立即删除。)

Empfohlene Artikel