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
  • 相关阅读:
    洛谷 P3353【在你窗外闪耀的星星】
    SpirngMVC源码分析
    处理器映射器(HandlerMapping)及处理器适配器(HandlerAdapter)详解(二)
    关于 DispatcherServlet.properties 文件
    处理器映射器(HandlerMapping)及处理器适配器(HandlerAdapter)详解(一)
    SpringMVC的入门程序
    Spring工作原理:初识SpringMVC
    Spring的事务管理
    Spring配置连接池和 Dao 层使用 jdbcTemplate
    Spring 的 jdbcTemplate 操作
  • 原文地址:https://www.cnblogs.com/zhengbin/p/5285969.html
Copyright © 2011-2022 走看看