• Maven聚合、Maven仓库jar包以及Spring+MyBatis+JUnit+Maven整合测试的搭建过程


    一、Maven将父项目创建到父项目的内部

    在父项目的pom.xml上 点右键,选择maven-->new-->maven module  project

    二、Maven聚合

    在某个项目的pom.xml文件中,添加<modules></modules>引用其他项目即可将多个项目聚合成一个整体

    在总pom上执行命令时,会在每一个被聚合的项目上都执行这个命令

    而且还会根据项目之间的依赖决定正确的执行顺序

         

    MyBatis Spring Spring-Test整合

    MyBatis Spring整合实现数据层开发

    MyBatistaSpring-Test  + JUnit整合实现数据层单元测试

    properties中定义spring.version的目的是统一管理spring的版本号

       方便今后切换


    Spring-Test 专门提供以简化Spring应用的测试,并且解决了Spring项目在测试时无法注入bean的问题

     

    三、Jar包搜索/Maven仓库

       

    可以让开发人员搜索、查看jar包的各种版本,以及每个版本的详细信息和maven

    坐标,也可以直接下载Jar

    挑选Jar包时,选择版本较新、正式版、使用人数多的版本

    不用使用测试版、除非有特殊要求,也不要使用过老的版本

    MySQL的驱动包

    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.41</version>
    </dependency>

    数据库连接池
    <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-dbcp2</artifactId>
    <version>2.1.1</version>
    </dependency>


    <dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.4.2</version>
    </dependency>

    MyBatisJar
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.4.4</version>
    </dependency>

    MyBatisspring的整合Jar,能够让MyBatisspring协同工作

    能够进一步简化数据层代码
    <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.1</version>
    </dependency>

    Spring的数据库事务管理Jar包,可以简化事务开发
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
    <version>${spring.version}</version>
    </dependency>

    Spring的数据层
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-orm</artifactId>
    <version>${spring.version}</version>
    </dependency>

    Spring的面向切面编程支持
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-aspects</artifactId>
    <version>${spring.version}</version>
    </dependency>

    Spring上下文支持功能(Spring的强大功能必须在Spring上下文范围内才能生效,离开上下文就会瘫痪、无法正常工作)
    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>${spring.version}</version>
    </dependency>

    MyBatisDao

    MyBatis的概念中,Dao被称为Mapper,即映射器  

     

    四、如果与Spring整合,Dao接口上应该加上@Mapper注解, 加上这个注解后,可以自动生成Dao的实现对象

    Dao接口中的方法参数(通常只有一个参数)

         要么是一个类(基本类型或复杂类型)

         要么是一个HashMap

    使用带名字的HashMap原因是可以传递多个参数

    Dao接口不用写实现类了!!

    Spring中不允许自己new DaoService!!

    DaoServiceSpring统一管理的

     

    五、MyBatis的服务层

    Spring整合时,Service类上应该添加@Service注解

        加上这个注解后,Spring可以自动帮助我们给service属性赋值

          Spring 会接管Service类,替我们创建Service类的对象(bean

           (凡是别Spring接管对象都可以称为bean

    @Autowired注解,在Spring上下文中运行时,会自动给它标记的属性赋值。我们不用自己new对象!

    (注意:如果不在Spring上下文中,就会失效)

    六、怎么理解上下文

    Spring 上下文是可以看做一个包含了很多对象的池子

       利用@Service等注解可以把类注册进去

       利用@Autowired等注解可以把对象取出来

    七、Spring-Test 整合测试

         为了在测试用例中能够正常使用Spring注解,Spring官方专门提供了Spring-Test包,其中的:

          @ContextConfiguration能够在测试环境中加载应用上下文配置

                              帮助我们快速创建应用上下文

          @RunWith 通过利用SpringJUnit4ClassRunner可以使测试用例在创建好的测试应用上下文中运行

     

    八、Spring +MyBatis+JUnit+Maven整合测试的搭建过程

    1.创建父子项目(也可以只创建一个项目,而不采用maven继承)

    2.修改pom.xml,加入依赖项

                AJUnit(test)

                B) spring-test(test)

                C) 数据库驱动

                D) 连接池

                E) MyBatis

                F) MyBatis-Spring

                G) Spring 事务

                H) Spring ORM支持

                I) Spring 面向切面支持

                J) Spring 上下文支持

            3.定义模型(main

            4.定义Daomain

            5.定义Mapper xml 配置文件

            6. Service

            7.测试类

            8.在测试类上通过注解创建应用上下文,并且指明使用Spring测试运行类运行测试用例

            9.创建应用上下文配置文件

            10.创建mybatis配置文件

  • 相关阅读:
    今天下午去了佛山梁园——广东四大名园之一
    我眼中的Web2.0
    《花眼》观后感
    Implement SOAP services with the Zend Framework
    js 捕捉右键事件
    Zend Framework 第九节数据库操作学习总结
    PHP :time(),date(),mktime()日期与时间函数库{经常会忘却掉}
    zend_soap 实现 web service 用户验证
    php中DOMDocument简单用法(XML创建、添加、删除、修改)
    jquery 判断浏览器方法
  • 原文地址:https://www.cnblogs.com/yangxiansen/p/7860024.html
Copyright © 2020-2023  润新知