目前Java體系常見的IOC框架有Google Guice,PicoContainer,Dagger,Spring Framework,本篇來進行講解Spring Framework的IOC(Spring IOC) 本篇示例代碼下載html
IOC的意思就是控制反轉(Inversion of Control),將原POJO內部管理其餘對象的引用轉換爲IOC容器統一管理對象引用,在須要使用的時候從容器獲取Bean便可。java
首先咱們能夠看到Spring4的龐大模塊中(這裏咱們不針對Spring模塊逐一介紹,將會在第四章:Spring專欄進行特別介紹),IOC功能位於Spring核心容器(Core Container模塊)中,也是Spring生態圈的全部模塊中的核心支撐。git
Spring的XML配置文件以下,這裏使用XML配置文件的形式配置SpringBean(對於理解比較友好) 示例代碼下載github
<?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-4.0.xsd"> <bean class="com.leanspringioc.AdminUser" id="adminUser"/> <bean class="com.leanspringioc.VipUser" id="vipUser"/> <bean class="com.leanspringioc.TestIOC" id="testIOC"> <property name="iUser" ref="vipUser"/> </bean> </beans>
/** * 在applicationContext.xml文件中向testIOCBean中注入vipUser和adminUser進行測試 * * @param args */ public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); TestIOC testIOC = (TestIOC) context.getBean("testIOC"); testIOC.say(); }
自動掃描裝配Bean的相關注解spring
自動裝配Bean相關注解編程