Spring MVC: Dependency Injection and Inversion of Control