The bean container is a lightweight container in the spirit of Java EE that manages contexts and injects them into the newly created beans. The bean container extracts the functionality that never should have been within the bean in the first place such as event handling. It also initializes the properties with the meta data necessary for proper bean behavior.

The bean container is the heart and soul of the bean-properties API it is extensible and pluggable (the Java EE version replaces the bean container to use JNDI). The container contains a great deal of generic bean functionality to reduce the load on bean developer by providing sensible implementations of methods such as: equals, toMap, hashCode etc... Furthermore, all compatibility and event handling passes through the container which takes the responsibility of moving everything into the right thread at the right time.