English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Einfachheit ist Schönheit, springmvc, mybatis ist ein hervorragendes einfaches Integrationsschema, das den Anforderungen eines durchschnittlichen Projekts gerecht wird. In der Freizeit teile ich die Projekt-Konfigurationsdatei, damit alle sie überprüfen können:
1.Zunächst betrachten wir die Abhängigkeiten im pom-Datei:
<!-- 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.
2zusammenhängende 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, und deren Injection als 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"> <!-- Automatische Scannung aller Klassen im Controller-Paket, falls @Controller injiziert wird als Bean --> <context:component-scan base-package="com.demo.report.web.controller" /> <!-- Vermeiden Sie, dass IE beim Ausführen von AJAX, eine JSON-Datei herunterlädt, wenn JSON zurückgegeben wird --> <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> <!-- Lösen des Namens der Modellansicht, d.h. das Hinzufügen von Prä- und Suffixen zu den 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> <!-- Konfiguration der Mehrdatei-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 "> <!-- Datenquellenkonfiguration - verwendet Druid-Datenquelle --> <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}"> /> <!-- Größe der initialen Verbindung --> <property name="initialSize" value="0"> /> <!-- Maximale Anzahl der Verbindungen im Pool --> <property name="maxActive" value="20"> /> <!-- Minimale Anzahl der freien Verbindungen im Pool --> <property name="minIdle" value="0"> /> <!-- Maximale Wartezeit für die Verbindungsherstellung --> <property name="maxWait" value="60000" /> <property name="poolPreparedStatements" value="true"> /> <property name="maxPoolPreparedStatementPerConnectionSize"} value="33" /> <!-- Zum Überprüfen gültiger SQL-Befehle --> <property name="validationQuery" value="${validationQuery}" /> <property name="testOnBorrow" value="false" /> <property name="testOnReturn" value="false" /> <property name="testWhileIdle" value="true" /> <!-- Konfigurieren Sie die Zeitspanne, nach der eine Überprüfung durchgeführt wird, um zu überprüfen, welche inaktiven Verbindungen geschlossen werden müssen, in Millisekunden --> <property name="timeBetweenEvictionRunsMillis" value="60000" /> <!-- Konfigurieren Sie die Zeit, die eine Verbindung im Pool mindestens existieren muss, in Millisekunden --> <property name="minEvictableIdleTimeMillis" value="25200000" /> <!-- Das removeAbandoned-Funktion aktivieren --> <property name="removeAbandoned" value="true" /> <!-- 1800 Sekunden, das ist also30 Minuten --> <property name="removeAbandonedTimeout" value="1800" /> <!-- Fehlerprotokoll bei der Schließung von abgebrochenen Verbindungen --> <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 umgehen --> <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> <!-- Vermeidung des Spring-Gedächtnisüberflusses-Hörer --> <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> <!-- Die Konfiguration der Sitzungsoptionszeit wird in Minuten angegeben. --> <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. Eine detaillierte Konfiguration im Web kann im Code überprüft werden.
Das oben genannte ist eine detaillierte Erklärung der Integration und Konfiguration von springmvc und mybatis, die von mir vorgestellt wird. Ich hoffe, es ist Ihnen hilfreich. Wenn Sie Fragen haben, lassen Sie es mich wissen, ich werde mich umgehend um eine Antwort kümmern. Ich danke auch sehr für Ihre Unterstützung für die Yell Anleitung Website!
Erklärung: Der Inhalt dieses Artikels wurde aus dem Internet entnommen und gehört dem Urheberrecht des jeweiligen Eigentümers. Der Inhalt wurde von Internetbenutzern selbstständig beigesteuert und hochgeladen. Diese Website besitzt keine Eigentumsrechte und hat den Inhalt nicht manuell bearbeitet. Sie übernimmt auch keine rechtlichen Verantwortlichkeiten. Wenn Sie Inhalte mit urheberrechtlichen Bedenken finden, sind Sie herzlich eingeladen, eine E-Mail an notice#w zu senden.3codebox.com (Bitte ersetzen Sie # durch @, wenn Sie eine E-Mail senden, um zu melden, und fügen Sie relevante Beweise bei. Wenn die Inhalte überprüft werden, wird diese Website die beanstandeten Inhalte sofort löschen.)