Internally, the framework uses its own dependency injection container. The container loads key framework objects, so that any piece of the framework can be replaced, extended, or removed in a standard, consistent way. Plugins, in particular, leverage this capability to extend the framework to provide support for third-party libraries like Spring or Sitemesh.
...