A BeanFactory is like a factory class that having a collection of beans. The BeanFactory holds Bean Definitions of multiple beans within itself and then instantiates the bean whenever asked for by clients.
? BeanFactory is able to make associations among collaborating objects as they are instantiated. This removes the burden of configuration from bean itself and the beans client.
? BeanFactory also takes part in the life cycle of a bean, making calls to custom initialization and destruction methods.