Avatar ·

@Component, @Repository और @Service में Spring में क्या अंतर है?

नमस्ते! मैंने Spring सीखना शुरू किया है और स्टीरियोटाइप एनोटेशन को समझने की कोशिश कर रहा हूँ। ऐसा लगता है कि तीनों (@Component, @Repository, @Service) एक ही काम करते हैं — Spring context में bean रजिस्टर करना। लेकिन फिर तीन क्यों हैं? मैंने users के साथ काम करने के लिए एक सरल service लिखा। यहाँ मेरा कोड है: ```java @Component public class UserService { public void saveUser(User user) { System.out.println("User saved: " + user.getName()); } } @Repository public class UserRepository { public void saveToDatabase(User user) { // यहाँ DB के साथ काम } } @Service public class UserManager { public void processUser(User user) { // business logic } } ``` तीनों काम करते हैं, मैं @Autowired के ज़रिए किसी को भी inject कर सकता हूँ। तो मूलभूत अंतर क्या है? हो सकता है कि ये एक ही चीज़ के अलग-अलग नाम हों? या कोई magic है जो मैं समझ नहीं पा रहा? Stack Overflow पर बहुत चर्चा देखी, लेकिन स्पष्ट हिंदी में स्पष्टीकरण चाहिए।