zoukankan      html  css  js  c++  java
  • 【转载】SSM框架整合

    http://blog.csdn.net/gebitan505/article/details/44455235/

    1、基本概念


    1.1、Spring


     

            Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。


    1.2、SpringMVC

     

         

            Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。


    1.3、MyBatis

     


           MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis MyBatis是一个基于Java持久层框架。iBATIS提供的持久层框架包括SQL MapsData Access ObjectsDAOMyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java POJOsPlain Old Java Objects,普通的 Java对象)映射成数据库中的记录。



    2、开发环境搭建

     



    如果需要,参看之前的博文:http://blog.csdn.net/zhshulin/article/details/30779873



    3、Maven Web项目创建


     

    如果需要,参看之前的博文:http://blog.csdn.net/zhshulin/article/details/37921705



    4、SSM整合

     

          

            下面主要介绍三大框架的整合,至于环境的搭建以及项目的创建,参看上面的博文。这次整合我分了2个配置文件,分别是spring-mybatis.xml,包含springmybatis的配置文件,还有个是spring-mvc的配置文件,此外有2个资源文件jdbc.propertislog4j.properties。完整目录结构如下(最后附上源码下载地址,不建议直接使用源码,因为此教程已经有了全部代码):


     

    使用框架都是较新的版本

           Spring 4.0.2 RELEASE

           Spring MVC 4.0.2 RELEASE

           MyBatis 3.2.6

    4.1、Maven引入需要的JAR包

             为了方便后面说的时候不需要引入JAR包,我这里直接给出所有需要的JAR包,这都是基本的JAR包,每个包的是干什么的都有注释,就不再多说了。

    pom.xml

     

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

     

    4.2、Spring与MyBatis的整合

     

     

    所有需要的JAR包都引入以后,首先进行SpringMyBatis的整合,然后再进行JUnit测试,先看一个项目结构图:


    4.2.1、建立JDBC属性文件

     

    jdbc.properties(文件编码修改为utf-8

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. driver=com.mysql.jdbc.Driver  
    2. url=jdbc:mysql://10.221.10.111:8080/db_zsl  
    3. username=demao  
    4. password=demao  
    5. #定义初始连接数  
    6. initialSize=0  
    7. #定义最大连接数  
    8. maxActive=20  
    9. #定义最大空闲  
    10. maxIdle=20  
    11. #定义最小空闲  
    12. minIdle=1  
    13. #定义最长等待时间  
    14. maxWait=60000  

  • 相关阅读:
    MySql存储过程学习总结
    JAVA设计模式之策略模式
    JAVA设计模式之装饰模式
    JAVA设计模式之代理模式
    动手学servlet(四) cookie和session
    动手学servlet(三) 请求头和响应头信息
    动手学servlet(二) servlet基础
    动手学servlet(一) 第一个servlet程序
    HTTP与HttpServlet
    HttpServlet详解
  • 原文地址:https://www.cnblogs.com/heng-yan/p/6251572.html
Copyright © 2011-2022 走看看