Apache Struts 2 Documentation > Home > Guides > Core Developers Guide > Dependency Injection
Added by Patrick Lightbody, last edited by Ted Husted on Feb 12, 2007  (view change)
Dependency injection removes the responsibility for object creation and object linking from the objects themselves to a factory. The factory is often provided by an Inversion of Control (IoC) container. For an overview of of Inversion of Control containers and the Dependency Injection pattern, please see Martin Fowler's article.

Internally, the framework uses its own dependency injection container, based on Google Guice. Plugins are available to integrate applications with other containers, including the Spring Plugin and the Plexus Plugin. An application can even use a local copy of Guice for dependency injection needs.

Actions can still be instantiated via the Spring configuration by way of the Spring Plugin, but Spring is entirely optional now.

The WebWork/XWork IoC container utilized by WebWork 2.1 is not supported by Struts 2.

Next: Profiling