java context and dependency injection