计应134(实验班) 周露玲
通过Computer类和USB类之间产生的紧密耦合关系来实现依赖注入。
创建一个USB类
public interface USB //USB接口
{
    public void insert();//插入
    public String read();//读取
    public void write(String s);//写入
    public void pop();//弹出
}
创建一个对象(Bean),代码如下:
public class UDisk implements USB
{
    public void insert(){
    	System.out.println("插入U盘");};
    public String read(){
    	System.out.println("读取数据");
    	return "some data";
    };
    public void write(String s){
    	System.out.println("写入数据:"+s);
    };
    public void pop(){
    	System.out.println("弹出U盘");
    };
}
创建一个对象(Bean),代码如下:
public interface SmartDevice {
	public void saveData(String data);
}
创建Computer类,代码如下:
public class Computer implements SmartDevice
{
    private USB usbDevice;
    public Computer(){}//这设备里不能构造USB
    public void saveData(String data)//实现智能设备的方法
    {
    	usbDevice.insert();
    	usbDevice.write(data);
    	usbDevice.pop();
    }
    public void setUsbDevice(USB u)
        {
	  usbDevice=u;
        }
	
}
在修改配置文件applicationContext.xml,实例化Bean,代码如下:
<bean id="theUDisk" class="com.cqvie.UDisk" abstract="false"
		lazy-init="default" autowire="default" >
	</bean>
	<bean id="theComputer" class="com.cqvie.Computer" abstract="false"
		lazy-init="default" autowire="default" 
		p:usbDevice-ref="theUDisk">	
	</bean>
最后测试类,获得注入的Bean,代码如下:
public class test {
 public static void main(String[] args)
	{
		ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
		Computer c= (Computer)context.getBean("theComputer");
		c.saveData("成功");
}
}
原文:http://www.cnblogs.com/Habernate/p/4561442.html