为了能更好的理解SpirngIOC是如何工作的,在查阅网上的资料后,自己写了一个非常简单的SpringIOC容器,使用setter方法将值注入。
本例子需要用到jdom的包:http://pan.baidu.com/s/1hsmgsfi
以下是包结构
A和B接口的定义就不不写类,很简单。
BeanFactory接口只有一个方法,根据id返回对应的bean:
package demo.myspring;
public interface BeanFactory {
public Object getBean(String id);
}
AImpl代码,只有一个print方法:
package demo.myspring.impl;
import demo.myspring.A;
public class AImpl implements A {
@Override
public void print() {
System.out.println("AImpl invoked!");
}
}
BImpl代码,通过接口调用a的print方法,必须有setter方法,因为在IOC容器中会利用反射机制调