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

تفصيل تكوين التكامل بين springmvc و mybatis

الجمال البسيط، springmvc، mybatis هو حل تكامل بسيط جيد، يمكنه تلبية احتياجات المشاريع العادية. في أوقات فراغي، سأشارك ملف تكوين المشروع، ليرى الجميع:

1. أولاً دعونا نلقي نظرة على pom الاعتماد:

<!-- spring -->
<dependency>
<groupId>آرغ-سبرينغ</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>آرغ-سبرينغ</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>آرغ-سبرينغ</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>آرغ-سبرينغ</groupId>
<artifactId>spring-tx</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>آرغ-سبرينغ</groupId>
<artifactId>سبرينغ-ويب</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>آرغ-سبرينغ</groupId>
<artifactId>سبرينغ-ويب-ميديا-كوونترولر</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>آرغ-سبرينغ</groupId>
<artifactId>سبرينغ-جي-ديب</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>آرغ-سبرينغ</groupId>
<artifactId>اختبار-سبرينغ</artifactId>
<version>${spring.version}</version>
<scope>اختبار</scope>
</dependency>
<!-- حزمة مايباتيس -->
<dependency>
<groupId>آرغ-مايباتيس</groupId>
<artifactId>مايباتيس</artifactId>
<version>3.2.8</version>
</dependency>
<!--مايباتيس سبرينغ إضافة-->
<dependency>
<groupId>آرغ-مايباتيس</groupId>
<artifactId>مايباتيس-سبرينغ</artifactId>
<version>1.2.2</version>
</dependency>
<!-- وصل ميكروسكويب -->
<dependency>
<groupId>ميكروسكويب</groupId>
<artifactId>مكون-وصلة-ميكروسكويب</artifactId>
<version>5.1.34</version>
</dependency>
<!-- مصدر البيانات -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>درايد</artifactId>
<version>1.0.12</version>
</dependency>
<dependency>
<groupId>آرغ-آسيكتج</groupId>
<artifactId>آسيكتجويفر</artifactId>
<version>1.8.4</version>
</dependency>
<!-- لوج4ج -->
<dependency>
<groupId>لوج4ج</groupId>
<artifactId>لوج4ج</artifactId>
<version>1.2.17</version>
</dependency>
<!-- سيرفلت -->
<dependency>
<groupId>جافا سيرفلت</groupId>
<artifactId>سيرفلت-التابعة</artifactId>
<version>3.0-اللفة-1</version>
</dependency>
<dependency>
<groupId>جافا سيرفلت</groupId>
<artifactId>جستل</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>
<--文件上传-->
<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 选用的是4.1.4的版本,我们可以把手选择我们至应的版本。

2. 相关的配置文件:

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">
<--引入配置属性文件-->
<context:property-placeholder location="classpath:config.properties" />
<!-- مسحوق التحقق التلقائي لجميع الفئات تحتوي على @Service لتعيينها كـ 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.MappingJackson2HttpMessageConverter">
<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" />
<!-- الحد الأدنى من عدد الاتصالات العازلة في خزان الاتصالات -->
<property name="minIdle" value="0" />
<!-- وقت الانتظار الأقصى للحصول على الاتصال -->
<property name="maxWait" value="60000" />
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize"
value="33" />
<!-- يستخدم لفحص sql صالح -->
<property name="validationQuery" value="${validationQuery}" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name="testWhileIdle" value="true" />
<!-- إعداد فترة زمنية بين كل فحص، لتحديد الاتصالات العازلة التي يجب إغلاقها، وحدة هي الميلي ثانية -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- إعداد وقت الحياة الأدنى للاتصال في المجموعة، وحدة هي الميلي ثانية -->
<property name="minEvictableIdleTimeMillis" value="25200000" />
<!-- تشغيل ميزة removeAbandoned -->
<property name="removeAbandoned" value="true" />
<!-- 1800 ثانية، أي 30 دقائق -->
<property name="removeAbandonedTimeout" value="1800" />
<!-- رفع خطأ يومية عند إغلاق الاتصال -->
<property name="logAbandoned" value="true" />
<!-- 监控数据库 -->
<property name="filters" value="mergeStat" />
</bean>
<!-- myBatis文件 -->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- 自动扫描entity目录, 省掉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>
<!-- 配置事务管理器 -->
<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>
<!-- 防止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>
<!-- تنظيم زمان خروجي session، واحد دقيقه -->
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

منبع داده druid استفاده شده است، تنظيمات جزيي در وب را می‌توان در کد مشاهده کرد.

مطالب ذکر شده در بالا توسط ويرايشگر به شما معرفي شده‌اند، تنظيمات نمونه‌اي تعاملي بين springmvc و mybatis توضيح داده شده است، اميدوارم که به شما کمک کند، اگر سوالي داريد، خوشحال ميشيم که نظر خود را بگذاريد، و ويرايشگر به زودي به شما پاسخ خواهد داد، و از حمکيت همه به وب‌سايت آموزشي نالايک تقدير مي‌کنيم!

بيان: محتواي اين مقاله از شبکه‌هاي اينترنت است، مالکيت آن متعلق به صاحب‌کار است، محتوا توسط کاربران اینترنت به صورت خودجوش ارائه شده و بارگذاري شده است، وب‌سايت ما مالکيت ندارد، و از آن بازنشر نشده است، و مسئوليت قانوني مربوطه را ندارد. اگر محتواي مشمول حقوق مالکيت فکري را شناسايي کرديد، خوشحال ميشيم که از طريق ارسال ايميل به آدرس notice#oldtoolbag.com (براي ارسال ايميل، لطفاً # را به @ تبديل کنيد) گزارش دهيد و مدارک مرتبط را ارائه دهيد، اگر پس از بررسی واقعي شد، وب‌سايت ما محتواي مشمول حقوق مالکيت فکري را فوراً حذف خواهد کرد.

أنت قد تعجبك