BeanFactory is core to the Spring framework
Lightweight container that loads bean definitions and manages your beans.
Configured declaratively using an XML file, or files, that determine how beans can be referenced and wired together.
Knows how to serve and manage a singleton or prototype defined bean
Responsible for lifecycle methods.
Injects dependencies into defined beans when served
Removes the need for ad-hoc singletons and factories