Using DI in Spring Boot
Spring Boot scans your application classes and registers classes with certain annotations (@Service, @Repository, and @Controller) as Spring beans. These beans can then be injected using an @Autowired annotation:
public class Car {
  @Autowired
  private Owner owner;
  ...
}
			A fairly common situation is where we need database access for some operations, and, in Spring Boot, we use repository classes for that. In this situation, we can inject the repository class and start to use its methods:
public class Car {
  @Autowired
  private CarRepository carRepository;
  // Fetch all cars from db carRepositoty.findAll();
  ...
}
			Java (javax.annotation) also provides an @Resource annotation that can be used to inject resources. You can define the name or type of the injected bean when using the @Resource annotation. For example, the following code shows some use cases. Imagine that we have...