There are three types of dependency injection:
1 Constructor Injection (e.g. Pico container, Spring etc):
Dependencies are provided as constructor parameters.
2 Setter Injection (e.g. Spring): Dependencies are assigned through
JavaBeans properties (ex: setter methods).
3 Interface Injection (e.g. Avalon): Injection is done through an
interface.