Sobes.tech
Junior — Middle

What methods can be used to implement dependency injection in Spring?

sobes.tech AI

Answer from AI

Dependency injection in Spring can be implemented in the following ways:

  1. Through constructor — dependencies are passed via the class constructor parameters. This is the preferred method as it makes dependencies mandatory and simplifies testing.
@Component
public class Service {
    private final Repository repository;

    @Autowired
    public Service(Repository repository) {
        this.repository = repository;
    }
}
  1. Through setters (setter injection) — dependencies are set via setter methods annotated with @Autowired.
@Component
public class Service {
    private Repository repository;

    @Autowired
    public void setRepository(Repository repository) {
        this.repository = repository;
    }
}
  1. Through fields (field injection) — dependencies are injected directly into class fields using @Autowired.
@Component
public class Service {
    @Autowired
    private Repository repository;
}

Field injection is simpler but less flexible and more difficult to test.

You can also use XML configuration, but in modern projects, annotations and Java configuration are preferred.

What methods can be used to implement dependency… - sobes.tech