How Spring's Inversion of Control container creates, wires, and manages your application's objects.
The three ways Spring lets you inject dependencies — constructor, setter, and field injection — and why constructor injection wins.