Ibatis2.3与spring3.0整合,其要明确一下,Ibatis与Hibernate一样都是dao层链接数据库用的框架。它是一个轻量级的orm框架,比Hibernate更加灵活。

sqlMapConfig是spring提供给它的核心类,它是线程安全的,是单例模式,其作用类似于Hibernate的SessionFactory类。该类的主要作用是读取ibatis的sqlMapConfig.xml文件,

标记1:

<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

<property name="configLocation">

<value>WEB-INF/sqlMapConfig.xml</value>

</property>

</bean>

而sqlMapConfig.xml是ibatis的总配置文件

SqlMapClientFactoryBean,这个class实现了两个interface:FactoryBean和InitializingBean,InitializingBean只有一个方法afterPropertiesSet()  
spring调用构造函数后,发现它实现了InitializingBean接口,所以还会调用afterPropertiesSet来进一步初始化此class。
sqlMapClient 就是在这里面创建的。
至此一个完整的工厂创建完成。

FactoryBean接口主要方法就是public Object getObject();
要知道SqlMapClientFactoryBean是一个工厂类,他的作用就是你需要的时候调用它的一个方法,它就会返回你一个你需要的对象。
当然此处返回的就是一个sqlMapClient 对象。
所以这里的getObject实现就是把sqlMapClient 返回给调用者。
spring就是根据接口里的定义来调用getObject方法的,这样可以忽略到底是调用的那个对象的实例(也就是不关心调用的是哪个factory)。
也不关心返回的是什么对象,spring只知道调用了getObject就可以得到此factory所创建的对象就够了。

标记2

<bean id="zjjyyxDao" class="com.cdc.capital.ibatis.dao.impl.ZjjyyxDaoImpl">

<property name="dataSource">

<ref bean="dataSource" />

</property>

<property name="sqlMapClient">

<ref bean="sqlMapClient" />

</property>

转载于:https://www.cnblogs.com/wcyBlog/p/3924585.html

ibaits与spring整合的心得相关推荐

  1. Strutsw2与Spring整合流程-简述

    1.      新建WEB工程: 2.      导入struts2开发包,和资源配置文件 ① globalMessages.properties ② struts.properties 3.     ...

  2. 最新Spring整合MyBatis详解教程

    目录 1.导入相关jar包 1. junit 2. mybatis 3. mysql 4. spring相关 5. aop织入 6. mybatis-spring 7. lombok(选用) 2.回顾 ...

  3. Spring整合Struts2

    ①导入Struts2 jar包 ②在web.xml文件中创建过滤器 <?xml version="1.0" encoding="UTF-8"?> & ...

  4. shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决

    shiro和Spring整合使用注解时没有执行realm的doGetAuthorizationInfo回调方法的解决 from :http://blog.csdn.net/babys/article/ ...

  5. Spring整合CXF,发布RSETful 风格WebService

    这篇文章是承接之前CXF整合Spring的这个项目示例的延伸,所以有很大一部分都是一样的.关于发布CXF WebServer和Spring整合CXF这里就不再多加赘述了.如果你对Spring整合CXF ...

  6. springMvc+mybatis+spring 整合 包涵整合activiti 基于maven

    2019独角兽企业重金招聘Python工程师标准>>> 最近自己独立弄一个activiti项目,写一下整合过程: 环境:jdk1.7 tomcat7.0 maven3.5  ecli ...

  7. activiti自己定义流程之Spring整合activiti-modeler5.16实例(四):部署流程定义

    注:(1)环境搭建:activiti自己定义流程之Spring整合activiti-modeler5.16实例(一):环境搭建         (2)创建流程模型:activiti自己定义流程之Spr ...

  8. Spring 整合 Junit

    Spring 整合 Junit 问题 在测试类中,每个测试方法都有以下两行代码: ApplicationContext ac = new ClassPathXmlApplicationContext( ...

  9. spring整合mybatis(入门级简单教程1)--在spring中配置c3p0,并成功测试

    引子:spring整合mybatis.因为,我们看完(我就是这样的)spring和mybatis之后,本想自己写一个小小的项目,以便加深理解,但是我发现在spring中整合mybatis并不是一件容易 ...

最新文章

  1. 浅谈企业IT应用的访问方式之:乱想
  2. 他们为什么选择中科大少年班?官方公布48名新生名单,有人因偶像曹原,有人只是不想经历高三...
  3. 解决xmarks不能用的方法
  4. 2BizBox-ERP那点事儿系列之4
  5. C++设计UDP协议通讯示例
  6. 生成简单的Makefile文件(Python实现)
  7. android 复制u盘文件到手机本地_如何导出Android中的文件(把Android当做U盘)
  8. C++PrimerPlus学习——第九章编程练习
  9. java http请求_如何设置Fiddler来拦截Java代码发送HTTP请求,进行各种问题排查
  10. PipedInputStream类 和 PipedOutputStream类 的简单介绍和代码演示
  11. 微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)
  12. ConfuserEx 脱壳软件 使用教程
  13. 怎么样用阿里云RDS数据库
  14. 几何学在计算机中的应用,探析坐标几何的应用意义及其在计算机中的实现
  15. 揪出键盘上的“老鼠”
  16. UE4 4.27像素流公网布置教程
  17. STM32F103RCT6点亮LED灯
  18. spring 1.0-5.0版本注解发展史(一)
  19. 阿里工程师修养之:如何量化考核技术人的 KPI ?
  20. STM32读取编码器数据(STM32-1)

热门文章

  1. 网站推广——网站推广专员从蜘蛛角度出发如何进行网站优化
  2. 学考语言成绩c对高考有影响吗_学考成绩会影响高考录取吗?2021年广东高中学考...
  3. mysql库存先进先出_sql 先进先出 库存
  4. 卷积层和全连接层的区别_1*1的卷积核和全连接层有什么异同?
  5. 一个游戏大量合服代表什么_[游戏服务器从入门到关门]4.分区分服、连服、合服...
  6. wsasend发送不可靠_架构师总结:kafka 如何保证数据的可靠性和一致性
  7. linux脚本多分支if语句,shell脚本基础应用(二)if单分支,双分支,多分支语句...
  8. oracle adf immediate,Oracle ADF 双击行事件
  9. CentOS7下查询硬件信息
  10. oracle常用关键字和函数