The bean class is the actual implementation of the bean being described by the BeanFactory.
Bean examples – DAO, DataSource, Transaction Manager, Persistence Managers, Service objects, etc
Spring config contains implementation classes while your code should program to interfaces.
Bean behaviors include:
Singleton or prototype
Autowiring
Initialization and destruction methods
init-method
destroy-method
Beans can be configured to have property values set.
Can read simple values, collections, maps, references to other beans, etc.