Spring में @Inject और @Autowired: क्या अंतर है और क्या चुनें?
नमस्ते! मैंने Spring Framework सीखना शुरू किया है और अपना पहला एप्लिकेशन लिख रहा हूँ। Dependency Injection के लिए annotations को लेकर मुझे भ्रम हो रहा है। मैं देख रहा हूँ कि कुछ उदाहरणों में @Autowired का उपयोग होता है, जबकि अन्य में @Inject का। दोनों annotations एक ही काम करते प्रतीत होते हैं: fields, constructors या setters में beans को inject करना।
यहाँ मेरे कोड का एक उदाहरण है, जहाँ मैं @Autowired का उपयोग कर रहा हूँ:
```java
@Component
public class UserService {
@Autowired
private UserRepository userRepository;
public User findUser(Long id) {
return userRepository.findById(id);
}
}
```
लेकिन मेरे सहकर्मी ने कहा कि javax.inject पैकेज से @Inject का उपयोग करना बेहतर है। उनका दावा है कि यह अधिक "स्वच्छ" तरीका है, लेकिन वे स्पष्ट रूप से यह नहीं बता सके कि ऐसा क्यों है। मैंने Google पर खोजा और बहुत सी विरोधाभासी जानकारी मिली। कोई लिखता है कि