@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 पर बहुत चर्चा देखी, लेकिन स्पष्ट हिंदी में स्पष्टीकरण चाहिए।