Sobes.tech
Junior — Middle

Quali sono i metodi di injection delle dipendenze nel framework Spring?

sobes.tech AI

Risposta dell'AI

Nel Spring Framework, l'iniezione delle dipendenze (Dependency Injection, DI) può essere implementata principalmente nei seguenti modi:

  1. Attraverso il costruttore — le dipendenze vengono passate tramite i parametri del costruttore della classe. Questo è il metodo più raccomandato, poiché rende le dipendenze esplicite e facilita i test.
@Component
public class Service {
    private final Repository repository;

    public Service(Repository repository) {
        this.repository = repository;
    }
}
  1. Attraverso i setter (Setter Injection) — le dipendenze vengono impostate tramite metodi setter dopo la creazione dell'oggetto.
@Component
public class Service {
    private Repository repository;

    @Autowired
    public void setRepository(Repository repository) {
        this.repository = repository;
    }
}
  1. Attraverso i campi (Field Injection) — le dipendenze vengono iniettate direttamente nei campi usando l'annotazione @Autowired.
@Component
public class Service {
    @Autowired
    private Repository repository;
}

Questo metodo è meno preferito, poiché rende più difficile il testing e viola il principio di inversione delle dipendenze.

Tutti questi metodi sono supportati da Spring e consentono di gestire le dipendenze dei componenti dell'applicazione in modo flessibile.