Junior — Middle
Εξασφαλίζεται η δημιουργία της ίδιας στιγμής του συστατικού κατά τη χρήση της σημείωσης @Autowired σε διαφορετικά μέρη μιας κλάσης που σημειώνεται με @Component;
sobes.tech AI
Απάντηση από AI
Ναι, κατά τη χρήση της σημείωσης @Autowired στο Spring Framework για την εισαγωγή εξαρτήσεων σε μια κλάση που έχει σημειωθεί ως @Component, δημιουργείται κατά κανόνα ένα μόνο αντίγραφο του συστατικού (πεδίο Singleton). Αυτό σημαίνει ότι σε διαφορετικά σημεία της κλάσης, όπου το ίδιο συστατικό εισάγεται μέσω @Autowired, θα χρησιμοποιείται το ίδιο αντίγραφο.
Για παράδειγμα:
@Component
public class MyService {
@Autowired
private MyRepository repo1;
@Autowired
private MyRepository repo2;
public void doSomething() {
// repo1 και repo2 αναφέρονται στο ίδιο αντίγραφο του MyRepository
}
}
Έτσι, το Spring διαχειρίζεται τον κύκλο ζωής των συστατικών και διασφαλίζει την επανάχρηση ενός και μόνο αντιγράφου, εκτός αν δηλωθεί διαφορετικά (π.χ., με την σημείωση @Scope).