一般情况下,spring通过反射机制利用bean的class属性指定实现类来实例化bean。FactoryBean接口对于spring框架来说占有重要的地位,spring本身就提供了70多个FactoryBean的实现。他们隐藏了实例化一些复杂bean的细节,给上层应用带来了便利。
在该接口中还定义了以下3个方法:
T getObject():返回由FactoryBean创建的bean实例,如果isSingleton()返回是true,则该实例会放到spring容器中单实例缓存池中。
boolean isSingleton():返回由FactoryBean创建的bean实例的作用域是singleton还是prototype。
Class<T> getObjectType():返回FactoryBean创建的bean类型。