Using DI in Spring Boot
In Spring framework, the dependency injection is achieved through the Spring Application Context. Application context is responsible for creating and managing objects (beans) and their dependencies. 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();
...
}
Jakarta EE (jakarta.annotation
) also provides a @Resource
annotation that can be used for injections. You can define the name or type of the injected...