BeanDefinitionRegistry reg=new SimpleBeanDefinitionRegistry();
//DefaultListableBeanFactory reg= new DefaultListableBeanFactory();
XmlBeanDefinitionReader xmlreader= new XmlBeanDefinitionReader(reg);
int count= xmlreader.loadBeanDefinitions(re);
System.out.println("共有"+count+"个bean");
String []beanName=xmlreader.getRegistry().getBeanDefinitionNames();
XmlBeanFactory xm=new XmlBeanFactory(reg);
BeanDefinition:存放在xml中配置的bean信息。
Resource: 各种资源的接口。
手动配置过程:
创建 BeanDefinitionRegister (该接口的实现类会维护一个BeanDefine的map)用于对实现对BeanDefinition的操作。
创建XmlBeanDefinitionReader:在这个类里有BeanDefinitionDocumentReader类用于解析xml
中Bean,并利用BeanDefinitionRegister注册到BeanDefine的map中。所以XmlBeanDefinitionReader
的创建需要一个BeanDefinitionRegister。
加载资源:XmlBeanDefinitionReader中创建好之后,可以用它其中的loadBeanDefinitions(re);加载资源。
XMLBeanFatory创建:
XmlBeanFactory xm=new XmlBeanFactory(resource); 就可以了在这个类里初始化里会完成上面的步骤
在XmlBeanFactory的父类DefaultListableBeanFactory中实现了BeanDefinitionRegister接口,这个类里也会维护一个BeanDefine的map