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