IOC:inversion of Control  控制反转,Spring框架的核心。削减计算机程序的耦合问题,把对象(例如JDBC)的创建权交给Spring。

IOC的两种类型:

  • 依赖注入:
  • 依赖查找:

Spring安装包下载地址:http://repo.spring.io/libs-release-local/org/springframework/spring/

 解压Spring安装包:

  • docs:Spring的开发规范、API
  • libs:Spring的开发jar包、源码
  • schema:Spring的配置文件的约束

aaarticlea/png;base64,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" alt="" />

创建web项目,引入IOC所需jar包

编写类和接口

 问题:能不能在不修改源代码的前提下,将DAO的实现由JDBC切换到HIbernate?

Spring的IOC底层实现:

原来的方法:用工厂模式取代面向接口,降低了接口与实现类之间的耦合。原来改很多类,现在改一个工厂类,但是依然和工厂之间有耦合。

解决方案:工厂+反射 + 配置文件实现解耦合,通过解析xml与反射,生成实例。改动只需要修改配置文件即可。

 Spring的方式:

将接口和实现类交给Spring管理:

创建配置文件:applicationContext.xml

约束所在文件位置:Spring/spring-framework-4.2.4.RELEASE/docs/spring-framework-reference/html/xsd-configuration.html

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Spring的入门配置 -->
<bean id="UserDao" class="com.itheima.spring.demo1.UserDaoImpl"></bean> </beans>

编写测试类:

如果要更改底层实现,只需改配置文件:

<bean id="UserDao" class="com.itheima.spring.demo1.UserDaoImpl"></bean>
-->
<bean id="UserDao" class="com.itheima.spring.demo1.UserDaoHibernateImpl"></bean>

结果:

最新文章

  1. DDR相关的低功耗技术之PASR、TCSR、DPD
  2. 免杀后门之MSF&amp;Veil-Evasion的完美结合
  3. [No000075]有没有安全的工作?
  4. C# 顺序高斯(Gauss)消去法计算一元多次方程组
  5. 常见的几种 CSS 水平垂直居中解决办法
  6. BZOJ1092 : [SCOI2003]蜘蛛难题
  7. hash --C++
  8. 利器: 用Siege做Web服务器压测
  9. Poj 2081 Recaman&#39;s Sequence之解题报告
  10. 实测switch支持的参数类型
  11. Python3.6下scrapy框架的安装
  12. Linux学习笔记:重定向&gt;和&gt;&gt;
  13. C# 哈希表HashTable的简单使用
  14. [easyUI] autocomplete 简单自动完成以及ajax从服务器端完成
  15. 值得收藏的8个Web端组件库
  16. CSS sprite使用
  17. 【API】注册表编程基础-RegCreateKeyEx、RegSetValueEx
  18. js异步上传图片
  19. unity3d插件Daikon Forge GUI 中文教程-3-基础控件Button和Sprite的使用
  20. python:定时任务模块schedule

热门文章

  1. CSS学习(5)更多的选择器
  2. 启动MySQL5.7时报错:initialize specified but the data directory has files in it. Aborting.
  3. ASP.NET CSRF 解决【网摘】
  4. C++模板详解(三):参数化声明详解
  5. zookeeper使用及安装
  6. [Qt 踩坑] 设置背景就卡退 报错 异常结束或者crashed 0xFFFFFFFF
  7. 《深入理解Java虚拟机》读书笔记四
  8. php substr的一些用法
  9. C# 面试编程算法题
  10. POJ-2891 Strange Way to Express Integers(拓展中国剩余定理)