读书人

spring里的依赖注入方式(设值注入)

发布时间: 2012-09-20 09:36:50 作者: rapoo

spring里的依赖注入模式(设值注入)

“控制反转”( Inversion of Control,IoC)一个大家都很熟悉的名词,而其大而化之的名字却很容易为它的神秘增加一道朦胧的面纱.为了更能描述其特点,于是诞生——“依赖注入”—ependency Injection),
依赖注入模式主要分为:设置注入,构造子注入和接口注入.
本文只讲述设置注入.

每一个男孩都具有亲吻别人的能力.而且他们都想亲吻女孩.
每一个女孩可以选择由那位男生亲吻她,但是却不告诉别人到底由谁来亲吻她.

public interface Kissable   {       void kiss( Object kisser);   }     public class Boy implements Kissable   {       public void kiss( Object kisser)       {           System.out.println("I was kissed by " + kisser);       }   }     public class Girl   {       private Kissable kissable;         public Kissable getKissable()       {           return kissable;       }         public void setKissable( Kissable kissable)       {           this.kissable = kissable;       }         public void kissSomeone()       {           kissable.kiss(this);       }   }  

?于是女孩用写信的方式来告诉别人她希望谁来亲吻她.
下面的spring.xml告诉别人女孩希望boy来亲吻她.

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><bean id="girl" /></property></bean><bean id="boy" name="code">public class InterfacesTestCase extends TestCase{    public void testKissing()    {        ApplicationContext ctx = new        FileSystemXmlApplicationContext("bin/spring.xml");        Girl girl = (Girl)ctx.getBean("girl");        girl.kissSomeone();    }}

?

读书人网 >软件架构设计

热点推荐