0、目标
xml配置类的id和class
自己写一个ClassPathXmlApplicationContext 类,作为容器,能够读取、解析、创建、获取对象。
1、核心原理
ClassPathXmlApplicationContext 是主要实现类,它持有 类的定义登记册、以及 类初始化后对象的Map。
private List<BeanDefinition> beanDefinitions = new ArrayList<>();
private Map<String,Object> singletons = new HashMap<>();
当需要获取对象时,从Map中获取即可
public Object getBean(String beanName){
return singletons.get(beanName);
}
其中,BeanDefiniton是类的配置,核心为id和className。实际上就是对xml配置文件的封装。
public class BeanDefinition {
private String id,className;
public BeanDefinition(String id, String className) {
this.id = id;
this.className = className;
}
public String getId() {
return id;
}
public void setId(String id