import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.test.service.IService;
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ctx= new ClassPathXmlApplicationContext("beans.xml");
IService device = (IService)ctx.getBean("device");
device.save();
}
}
package com.test.device;
public interface IDevice {
public void save();
}
package com.test.device.impl;
import com.test.device.IDevice;
public class Floppy implements IDevice {
@Override
public void save() {
// TODO Auto-generated method stub
System.out.println("save with floppy");
}
}
package com.test.device.impl;
import com.test.device.IDevice;
public class Usb implements IDevice {
@Override
public void save() {
// TODO Auto-generated method stub
System.out.println("save with usb");
}
}
package com.test.service;
public interface IService {
public void save();
}
package com.test.service.impl;
import com.test.device.IDevice;
import com.test.service.IService;
public class DeviceService implements IService{
private IDevice device;
@Override
public void save() {
// TODO Auto-generated method stub
device.save();
}
public IDevice getDevice() {
return device;
}
public void setDevice(IDevice device) {
this.device = device;
}
}
<?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.xsd">
<bean id="floppy" class="com.test.device.impl.Floppy"/>
<bean id="usb" class="com.test.device.impl.Usb"/>
<bean id="device" class="com.test.service.impl.DeviceService">
<property name="device" ref="floppy"></property>
</bean>
</beans>