English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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涉嫌侵权的内 容立即删除。)