SpringIOC测试


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的配置文件的约束

 

创建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

 

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     xsi:schemaLocation="
5         http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
6     <!-- Spring的入门配置 -->
7     <bean id="UserDao" class="com.itheima.spring.demo1.UserDaoImpl"></bean>
8   
9 </beans>

编写测试类:

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

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

结果:

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM