Junior — Middle
Εξηγήστε τη φιλοσοφία της εξάρτησης εισαγωγής στο Spring και πώς υλοποιείται
sobes.tech AI
Απάντηση από AI
Ο εφοδιασμός με εξαρτήσεις (Dependency Injection, DI) στο Spring είναι ένας τρόπος διαχείρισης των εξαρτήσεων των αντικειμένων, όπου το κοντέινερ Spring είναι υπεύθυνο για τη δημιουργία και τη σύνδεση των αντικειμένων, αντί το ίδιο το αντικείμενο να δημιουργεί ή να αναζητά τις εξαρτήσεις του.
Οι κύριοι τρόποι υλοποίησης του DI στο Spring:
- Μέσω του κατασκευαστή — οι εξαρτήσεις περνούν μέσω των παραμέτρων του κατασκευαστή.
- Μέσω των setter — οι εξαρτήσεις ορίζονται μέσω μεθόδων setter.
- Μέσω πεδίων με την ανότατη @Autowired — το Spring εγχέει αυτόματα τα απαραίτητα beans.
Παράδειγμα έγχυσης μέσω ανάρτησης:
@Component
public class UserService {
private final UserRepository userRepository;
@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}
Εδώ, το Spring θα δημιουργήσει αυτόματα μια παρουσία του UserRepository και θα το περάσει στον κατασκευαστή του UserService. Αυτό διευκολύνει την αλλαγή των υλοποιήσεων των εξαρτήσεων, απλοποιεί τις δοκιμές και αυξάνει τη modularity του κώδικα.