zoukankan      html  css  js  c++  java
  • Spring+SpringMVC+Mybatis整合

    Spring4.1.6+SpringMVC+Mybatis3.3.0整合 MySQL5.*+文件上传

    1.所需jar与解释

    Spring+SpringMVC:
            spring-aop-4.1.6.RELEASE.jar
            spring-aspects-4.1.6.RELEASE.jar
            spring-beans-4.1.6.RELEASE.jar
            spring-context-4.1.6.RELEASE.jar
            spring-core-4.1.6.RELEASE.jar
            spring-expression-4.1.6.RELEASE.jar
            spring-jdbc-4.1.6.RELEASE.jar
            spring-orm-4.1.6.RELEASE.jar
            spring-tx-4.1.6.RELEASE.jar
            spring-web-4.1.6.RELEASE.jar
            spring-webmvc-4.1.6.RELEASE.jar
            
            AOP:在Spring2.*中
                aopalliance.jar
                aspectjweaver.jar
    
            文件上传:在Struts2中
                commons-fileupload-1.2.1.jar
                commons-io-1.3.2.jar
    
        Mybatis:
            mybatis-3.3.0.jar
            asm-4.2.jar
            cglib-3.1.jar
            commons-logging-1.2.jar
            log4j-1.2.17.jar
            log4j-api-2.2.jar
            log4j-core-2.2.jar
            slf4j-api-1.7.12.jar
            slf4j-log4j12-1.7.12.jar
    
        Mybatis与Spring整合:
            mybatis-spring-1.2.3.jar
    
        MySQL驱动包:
            mysql-connector-java-5.1.7-bin.jar

      如果使用maven: jar包的dependency搜索

      1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      2     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      3     <modelVersion>4.0.0</modelVersion>
      4     <groupId>com.zhengbin.demo</groupId>
      5     <artifactId>zzti.wd.mall</artifactId>
      6     <packaging>war</packaging>
      7     <version>0.0.1-SNAPSHOT</version>
      8     <name>zzti.wd.mall Maven Webapp</name>
      9     <url>http://maven.apache.org</url>
     10     <properties>
     11         <!-- spring版本号 -->
     12         <spring.version>4.1.6.RELEASE</spring.version>
     13         <!-- mybatis版本号 -->
     14         <mybatis.version>3.3.0</mybatis.version>
     15         <!-- log4j日志文件管理包版本 -->
     16         <slf4j.version>1.7.7</slf4j.version>
     17         <log4j.version>1.2.17</log4j.version>
     18     </properties>
     19 
     20     <dependencies>
     21         <dependency>
     22             <groupId>junit</groupId>
     23             <artifactId>junit</artifactId>
     24             <version>4.11</version>
     25             <!-- 表示开发的时候引入,发布的时候不会加载此包 -->
     26             <scope>test</scope>
     27         </dependency>
     28         <!-- spring核心包 -->
     29         <dependency>
     30             <groupId>org.springframework</groupId>
     31             <artifactId>spring-core</artifactId>
     32             <version>${spring.version}</version>
     33         </dependency>
     34         <dependency>
     35             <groupId>org.springframework</groupId>
     36             <artifactId>spring-web</artifactId>
     37             <version>${spring.version}</version>
     38         </dependency>
     39         <dependency>
     40             <groupId>org.springframework</groupId>
     41             <artifactId>spring-oxm</artifactId>
     42             <version>${spring.version}</version>
     43         </dependency>
     44         <dependency>
     45             <groupId>org.springframework</groupId>
     46             <artifactId>spring-tx</artifactId>
     47             <version>${spring.version}</version>
     48         </dependency>
     49         <dependency>
     50             <groupId>org.springframework</groupId>
     51             <artifactId>spring-jdbc</artifactId>
     52             <version>${spring.version}</version>
     53         </dependency>
     54         <dependency>
     55             <groupId>org.springframework</groupId>
     56             <artifactId>spring-webmvc</artifactId>
     57             <version>${spring.version}</version>
     58         </dependency>
     59         <dependency>
     60             <groupId>org.springframework</groupId>
     61             <artifactId>spring-aop</artifactId>
     62             <version>${spring.version}</version>
     63         </dependency>
     64         <dependency>
     65             <groupId>org.springframework</groupId>
     66             <artifactId>spring-context-support</artifactId>
     67             <version>${spring.version}</version>
     68         </dependency>
     69         <dependency>
     70             <groupId>org.springframework</groupId>
     71             <artifactId>spring-test</artifactId>
     72             <version>${spring.version}</version>
     73         </dependency>
     74         <!-- mybatis核心包 -->
     75         <dependency>
     76             <groupId>org.mybatis</groupId>
     77             <artifactId>mybatis</artifactId>
     78             <version>${mybatis.version}</version>
     79         </dependency>
     80         <!-- mybatis/spring包 -->
     81         <dependency>
     82             <groupId>org.mybatis</groupId>
     83             <artifactId>mybatis-spring</artifactId>
     84             <version>1.2.2</version>
     85         </dependency>
     86         <!-- 导入java ee jar 包 -->
     87         <dependency>
     88             <groupId>javax</groupId>
     89             <artifactId>javaee-api</artifactId>
     90             <version>7.0</version>
     91         </dependency>
     92         <!-- 导入Mysql数据库链接jar包 -->
     93         <dependency>
     94             <groupId>mysql</groupId>
     95             <artifactId>mysql-connector-java</artifactId>
     96             <version>5.1.30</version>
     97         </dependency>
     98         <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->
     99         <dependency>
    100             <groupId>commons-dbcp</groupId>
    101             <artifactId>commons-dbcp</artifactId>
    102             <version>1.2.2</version>
    103         </dependency>
    104         <!-- JSTL标签类 -->
    105         <dependency>
    106             <groupId>jstl</groupId>
    107             <artifactId>jstl</artifactId>
    108             <version>1.2</version>
    109         </dependency>
    110         <!-- 日志文件管理包 -->
    111         <!-- log start -->
    112         <dependency>
    113             <groupId>log4j</groupId>
    114             <artifactId>log4j</artifactId>
    115             <version>${log4j.version}</version>
    116         </dependency>
    117         <!-- 格式化对象,方便输出日志 -->
    118         <dependency>
    119             <groupId>com.alibaba</groupId>
    120             <artifactId>fastjson</artifactId>
    121             <version>1.1.41</version>
    122         </dependency>
    123         <dependency>
    124             <groupId>org.slf4j</groupId>
    125             <artifactId>slf4j-api</artifactId>
    126             <version>${slf4j.version}</version>
    127         </dependency>
    128         <dependency>
    129             <groupId>org.slf4j</groupId>
    130             <artifactId>slf4j-log4j12</artifactId>
    131             <version>${slf4j.version}</version>
    132         </dependency>
    133         <!-- log end -->
    134         <!-- 映入JSON -->
    135         <dependency>
    136             <groupId>org.codehaus.jackson</groupId>
    137             <artifactId>jackson-mapper-asl</artifactId>
    138             <version>1.9.13</version>
    139         </dependency>
    140         <!-- 上传组件包 -->
    141         <dependency>
    142             <groupId>commons-fileupload</groupId>
    143             <artifactId>commons-fileupload</artifactId>
    144             <version>1.3.1</version>
    145         </dependency>
    146         <dependency>
    147             <groupId>commons-io</groupId>
    148             <artifactId>commons-io</artifactId>
    149             <version>2.4</version>
    150         </dependency>
    151         <dependency>
    152             <groupId>commons-codec</groupId>
    153             <artifactId>commons-codec</artifactId>
    154             <version>1.9</version>
    155         </dependency>
    156         <!-- Spring配置事物管理-->
    157         <dependency>
    158             <groupId>org.aspectj</groupId>
    159             <artifactId>aspectjweaver</artifactId>
    160             <version>1.7.2</version>
    161         </dependency>
    162     </dependencies>
    163     <build>
    164         <finalName>zzti.wd.mall</finalName>
    165     </build>
    166 </project>
    pom.xml

    2.编写配置文件

      (1)web.xml ——Web容器

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     3     xmlns="http://java.sun.com/xml/ns/javaee"
     4     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
     5     id="WebApp_ID" version="3.0">
     6     <display-name>07spring+springmvc+mybatis</display-name>
     7 
     8     <!-- spring 配置 begin -->
     9     <context-param>
    10         <param-name>contextConfigLocation</param-name>
    11         <param-value>classpath:applicationContext.xml</param-value>
    12     </context-param>
    13     <listener>
    14         <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    15     </listener>
    16     <!-- spring 配置 end -->
    17 
    18     <!-- 编码过滤器 begin -->
    19     <filter>
    20         <filter-name>encodingFilter</filter-name>
    21         <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    22         <async-supported>true</async-supported>
    23         <init-param>
    24             <param-name>encoding</param-name>
    25             <param-value>UTF-8</param-value>
    26         </init-param>
    27     </filter>
    28     <filter-mapping>
    29         <filter-name>encodingFilter</filter-name>
    30         <url-pattern>/*</url-pattern>
    31     </filter-mapping>
    32     <!-- 编码过滤器 end -->
    33 
    34     <!-- spring mvc 配置 begin -->
    35     <servlet>
    36         <servlet-name>springmvc</servlet-name>
    37         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    38         <init-param>
    39             <param-name>contextConfigLocation</param-name>
    40             <param-value>classpath:mvc.xml</param-value>
    41         </init-param>
    42         <load-on-startup>1</load-on-startup>
    43     </servlet>
    44     <servlet-mapping>
    45         <servlet-name>springmvc</servlet-name>
    46         <url-pattern>*.do</url-pattern>
    47     </servlet-mapping>
    48     <!-- spring mvc 配置 end -->
    49 
    50 </web-app>
    web.xml

      (2)mvc.xml ——SpringMVC

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xmlns:p="http://www.springframework.org/schema/p"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xmlns:mvc="http://www.springframework.org/schema/mvc"
     7     xsi:schemaLocation="
     8         http://www.springframework.org/schema/beans
     9         http://www.springframework.org/schema/beans/spring-beans.xsd
    10         http://www.springframework.org/schema/context
    11         http://www.springframework.org/schema/context/spring-context.xsd 
    12         http://www.springframework.org/schema/mvc
    13         http://www.springframework.org/schema/mvc/spring-mvc.xsd ">
    14 
    15     <!-- 配置文件上传 begin -->
    16     <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
    17         <property name="defaultEncoding" value="utf-8"/>
    18         <property name="maxUploadSize" value="10485760000"/>
    19         <property name="maxInMemorySize" value="40960"/>
    20     </bean>
    21     <!-- 配置文件上传 end -->
    22     
    23     <!-- 扫描该包中的所有注解 -->
    24     <context:component-scan base-package="com.wd.controller"/>
    25 </beans>
    mvc.xml

      (3)applicationContext.xml ——Spring

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <beans xmlns="http://www.springframework.org/schema/beans"
     3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     4     xmlns:p="http://www.springframework.org/schema/p"
     5     xmlns:context="http://www.springframework.org/schema/context"
     6     xmlns:aop="http://www.springframework.org/schema/aop"
     7     xmlns:tx="http://www.springframework.org/schema/tx"
     8     
     9     xsi:schemaLocation="
    10         http://www.springframework.org/schema/beans
    11         http://www.springframework.org/schema/beans/spring-beans.xsd
    12         http://www.springframework.org/schema/context
    13         http://www.springframework.org/schema/context/spring-context.xsd 
    14         http://www.springframework.org/schema/aop
    15         http://www.springframework.org/schema/aop/spring-aop.xsd
    16         http://www.springframework.org/schema/tx
    17         http://www.springframework.org/schema/tx/spring-tx.xsd ">
    18     <!-- 配置datasource begin -->
    19     <!-- 读取数据库配置文件 -->
    20     <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    21         <property name="location" value="classpath:db.properties"/>
    22     </bean>
    23     <!-- 用Spring自带的jdbc -->
    24     <!--
    25     <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    26         <property name="driverClassName" value="${driver}"/>
    27         <property name="url" value="${url}"/>
    28         <property name="username" value="${username}"/>
    29         <property name="password" value="${password}"/>
    30     </bean> 
    31     -->
    32     <!-- 使用dbcp连接池 -->
    33     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
    34         destroy-method="close">
    35         <property name="driverClassName" value="${driver}" />
    36         <property name="url" value="${url}" />
    37         <property name="username" value="${username}" />
    38         <property name="password" value="${password}" />
    39         <!-- 初始化连接大小 -->
    40         <property name="initialSize" value="${initialSize}"></property>
    41         <!-- 连接池最大数量 -->
    42         <property name="maxActive" value="${maxActive}"></property>
    43         <!-- 连接池最大空闲 -->
    44         <property name="maxIdle" value="${maxIdle}"></property>
    45         <!-- 连接池最小空闲 -->
    46         <property name="minIdle" value="${minIdle}"></property>
    47         <!-- 获取连接最大等待时间 -->
    48         <property name="maxWait" value="${maxWait}"></property>
    49     </bean>
    50     <!-- 配置datasource end -->
    51 
    52     <!-- 配置SqlSessionFactory begin -->
    53     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    54         <property name="dataSource" ref="dataSource"/>
    55         <property name="configLocation" value="classpath:mybatis.cfg.xml"/>
    56     </bean>
    57     <!-- 配置SqlSessionFactory end -->
    58     
    59     <!-- 配置事物 声明式事物 begin -->
    60     <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    61         <property name="dataSource" ref="dataSource"/>
    62     </bean>
    63     <tx:advice id="txAdvice" transaction-manager="txManager">
    64         <!-- 配置哪些方法使用什么样的事物,配置事物的传播特性 -->
    65         <!-- REQUIRED表示如果不存在事物则必须产生一个事物 -->
    66         <tx:attributes>
    67             <tx:method name="add*" propagation="REQUIRED"/>
    68             <tx:method name="delete*" propagation="REQUIRED"/>
    69             <tx:method name="update*" propagation="REQUIRED"/>
    70             <tx:method name="*" read-only="true"/>
    71         </tx:attributes>
    72     </tx:advice>
    73     <aop:config>
    74         <aop:pointcut id="pointcut" expression="execution(* com.wd.service.*.*(..))" />
    75         <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut" />
    76     </aop:config>
    77     <!-- 配置事物 声明式事物 end -->
    78     
    79     <!-- 配置注解 begin -->
    80     <context:component-scan base-package="com.wd"/>    
    81     <!-- 配置注解 end -->
    82 </beans>
    applicationContext.xml

      (4)mybatis.cfg.xml ——Mybatis

     1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" 
     3     "http://mybatis.org/dtd/mybatis-3-config.dtd">
     4 <configuration>
     5     <typeAliases>
     6         <package name="com.wd.entity"/>
     7     </typeAliases>
     8     <mappers>
     9         <!-- 所有mapper文件填写位置 -->
    10         <mapper resource="com/wd/entity/book.mapper.xml"/>
    11         <mapper resource="com/wd/entity/computer.mapper.xml"/>
    12     </mappers>
    13 </configuration>
    mybatis.cfg.xml

      (5)db.properties ——数据源

     1 driver=com.mysql.jdbc.Driver
     2 url=jdbc:mysql://localhost:3307/wdmall
     3 username=root
     4 password=950906
     5 #定义初始连接数
     6 initialSize=3
     7 #定义最大连接数  
     8 maxActive=20
     9 #定义最大空闲  
    10 maxIdle=20
    11 #定义最小空闲  
    12 minIdle=3
    13 #定义最长等待时间  
    14 maxWait=6000
    db.properties
  • 相关阅读:
    【crontab】误删crontab及其恢复
    New Concept English there (7)
    New Concept English there (6)
    New Concept English there (5)
    New Concept English there (4)
    New Concept English there (3)
    New Concept English there (2)Typing speed exercise
    New Concept English there (1)Typing speed exercise
    New Concept English Two 34 game over
    New Concept English Two 33 94
  • 原文地址:https://www.cnblogs.com/zhengbin/p/5285969.html
Copyright © 2011-2022 走看看