Dependency Injection
Dependency Injection is a software design pattern where a class or a component receives its dependencies from an external source instead of creating them directly or depending on some global state variable
Example: In Java instead of creating Java objects using new
keyword we can use @Autowired
annotation for creating objects via dependency injection