`

Spring IOC控制反转 3

    博客分类:
  • SSH
 
阅读更多

3.1.3 通过容器完成依赖关系的注入
虽然 MoAttack 和LiuDeHua 实现了解耦,MoAttack 无须关注角色实现类的实例化工
作,但这些工作在代码中依然存在,只是转移到Director 类中而已。假设某一制片人想改
变这一局面,在选择某个剧本后,希望通过一个“海选”或者第三中介机构来选择导演、
演员,让他们各司其职,那剧本、导演、演员就都实现解耦了。

所谓媒体“海选”和第三方中介机构在程序领域即是一个第三方的容器,它帮助完成
类的初始化与装配工作,让开发者从这些底层实现类的实例化、依赖关系装配等工作中脱
离出来,专注于更有意义的业务逻辑开发工作。这无疑是一件令人向往的事情,Spring 就
是这样的一个容器,它通过配置文件或注解描述类和类之间的依赖关系,自动完成类的初
始化和依赖注入的工作。下面是Spring 配置文件的对以上实例进行配置的配置文件片断:
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<!--①实现类实例化-->
<bean id="geli" class="LiuDeHua"/>
<bean id="moAttack" class="com.baobaotao.ioc.MoAttack" p:geli-ref="geli"/>

<!--②通过geli-ref建立依赖关系-->
</beans>
通过 new XmlBeanFactory(“beans.xml”)等方式即可启动容器。在容器启动时,Spring
根据配置文件的描述信息,自动实例化Bean 并完成依赖关系的装配,从容器中即可返回
准备就绪的Bean 实例,后续可直接使用之

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

Global site tag (gtag.js) - Google Analytics