Koje metode se koriste za implementaciju zavisnosti u okviru Spring framework-a?
sobes.tech АИ
Одговор од АИ
U okviru Spring Framework-a, ubrizgavanje zavisnosti (Dependency Injection, DI) se vrši na tri glavna načina:
-
Kroz konstruktor (Constructor Injection) — zavisnosti se prosleđuju putem parametara konstruktora klase. Ovo je najpreporučniji način, jer omogućava kreiranje nepromenljivih objekata i olakšava testiranje.
-
Kroz setere (Setter Injection) — zavisnosti se postavljaju putem setter metoda nakon kreiranja objekta.
-
Kroz polja (Field Injection) — zavisnosti se direktno ubrizgavaju u polja klase pomoću anotacije
@Autowired. Ovaj način je manje preporučljiv zbog težine testiranja i slabe enkapsulacije.
Primer ubrizgavanja zavisnosti putem konstruktora:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
// metode klase
}
Spring će automatski kreirati i ubrizgati potrebni bean UserRepository prilikom kreiranja UserService.