标签:
计应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