Junior — Middle
Magyarázza el a Springben lévő függőséginjektálás fogalmát és hogyan valósul meg
sobes.tech MI
Válasz az MI-től
A Dependency Injection (DI) a Springben egy olyan módszer az objektumok függőségeinek kezelésére, ahol a Spring konténer felelős az objektumok létrehozásáért és összekapcsolásáért, nem pedig maga az objektum hozza létre vagy keresi a függőségeit.
A DI fő megvalósítási módjai Springben:
- Konstrukoron keresztül — a függőségek a konstruktor paraméterein keresztül kerülnek átadásra.
- Setterekkel — a függőségek setter metódusokon keresztül kerülnek beállításra.
- @Autowired annotációval ellátott mezőkön keresztül — a Spring automatikusan injektálja a szükséges bean-eket.
Példa az annotációval történő injektálásra:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Itt a Spring automatikusan létrehoz egy UserRepository példányt és átadja a UserService konstruktorának. Ez megkönnyíti a függőségek megvalósításának cseréjét, egyszerűsíti a tesztelést és növeli a kód modularitását.