According to James Shore, the term “Dependency Injection” is nothing but a 25 dollar term in exchange for a 5% concept. In other words, when the instance variables are given to an object. It basically, provides the required objects that an object needs which are its dependencies instead of constructing themselves. This allows dependencies to be stubbed out and is hence, a very useful technique for testing. Constructor and Setter injection are one of the many ways in which dependencies can be injected into objects.The use of specialized dependency injection framework also works but might not be required in order to have a dependency injection. Detecting and passing dependencies explicitly is equally good as an injection as an injection by the framework.