下面是源码:
1、IProgrammingLanguage
package example;
public interface IProgrammingLanguage {
public String whoAmi();
}
2、JAVA
package example;
public class JAVA implements IProgrammingLanguage{
public String whoAmi() {
return "JAVA";
}
}
3、C
package example;
public class C implements IProgrammingLanguage{
public String whoAmi() {
return "C";
}
}
4、Developer
package example;
public class Developer {
public IProgrammingLanguage language;
public IProgrammingLanguage getLanguage() {
return language;
}
public void setLanguage(IProgrammingLanguage language) {
this.language = language;
}
public String getCurrentUsingLanguage(){
return language.whoAmi();
}
}
5、MAIN
package example;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MAIN {
public static void main(String[] args) {
// Resource r = new FileSystemResource("applicationContext.xml");
ApplicationContext f = new ClassPathXmlApplicationContext("applicationContext.xml");
Developer d = (Developer) f.getBean("Developer");
String s = d.getCurrentUsingLanguage();//该方法的实现依赖于applicationContext.xml中
// 对于language 的注入。同时这里的
System.out.println("The developer is currently using: "+s);
}
}
6、applicationContext.xml
运行结果:
The developer is currently using: JAVA