丑陋的 spring 实现?
丑陋的 spring 实现?
刚才在看 spring 源码:
org.springframework.beans\src\main\java\org\springframework\beans\factory\xml\XmlBeanDefinitionReader.java
private Class documentReaderClass = DefaultBeanDefinitionDocumentReader.class;
@SuppressWarnings("unchecked")
protected BeanDefinitionDocumentReader createBeanDefinitionDocumentReader() {
return BeanDefinitionDocumentReader.class.cast(BeanUtils.instantiateClass(this.documentReaderClass));
}
-------------------------------------------
createBeanDefinitionDocumentReader 得到的类型,是通过类中的一个私有变量 documentReaderClass 来指定的。
嗯嗯,这是丑陋的实现吗? 如果丑陋,那为何 spring 还这么做呢。spring 做得,我们也可以做得啊。