1.美图
2.概述
一般情况下,Spring通过反射机制利用<bean>
的class
属性指定实现类实例化Bean
,在某些情况下,实例化Bean
过程比较复杂,如果按照传统的方式,则需要在<bean>
中提供大量的配置信息。
配置方式的灵活性是受限的,这时采用编码的方式可能会得到一个简单的方案。Spring为此提供了一个org.springframework.bean.factory.FactoryBean
的工厂类接口,用户可以通过实现该接口定制实例化Bean的逻辑。
FactoryBean
接口对于Spring框架来说占用重要的地位,Spring自身就提供了70多个FactoryBean
的实现。
第三方框架要继承进Spring,往往就是通过实现FactoryBean来集成的。比如MyBatis的SqlSessionFactoryBean、RedisRepositoryFactoryBean、EhCacheManagerFactoryBean等等