Sobes.tech
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).