圖2.2 IoC容器的介面設計圖
圖2.3 XmlBeanFactory設計的類別繼承關係
public interface BeanFactory
{
Stirng FACTORY_BEAN_PREFIX= "&";
Object getBean(String name) throws BeansExceptioon;
T getBean(String name,Class requiredType) throws BeansException;
Object getBean(String name Object... args) throws BeansExceptioon;
boolean containsBean(String name);
boolean isSingleton(String name) throws NoSuchBeanDefinitionException;
boolean isProtype(String name) throws NoSuchBeanDefinitionException;
boolean isTypeMatch(String name) throws NoSuchBeanDefinitionException;
boolean is(String name, Class targetTyoe) throws NoSuchBeanDefinitionException;
Class getType(String name) throws NoSuchBeanDefinitionException;
String[] getAliases(String name);
}
public class XmlBeanFactory extends DefaultListableBeanFactory
{
private final XmlBeanDefinitionReader reader = new XmlBeanDefinitionReader(this);
public XmlBeanFactory(Resource resource) throws BeanException
{
this(resource, null);
}
public XmlBeanFactory(Resource resource, BeanFactory parentBeanFactory) throws BeanException
{
super(parentBeanFactory);
this,reader,loadBeanDefinitions(resource);
}
}