- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference between @Inject and @Autowired
@Inject and @Autowired both annotations are used for autowiring in your application.
@Inject annotation is part of Java CDI which was introduced in Java 6, whereas @Autowire annotation is part of spring framework. Both annotations fulfill same purpose therefore, anything of these we can use in our application.
Sr. No. | Key | @Inject | @Autowired |
---|---|---|---|
1 | Basic | It is part of Java CDI | It is part of Spring framework |
2 | Required | It has no required attribute | It has required attribute |
3 | Default Scope | Default scope of the autowired beans is Singleton | Default scope of the inject beans is prototype |
4 | Ambiguity | In case of ambiguity in beans for injection then @Named qualifier should be added in your code. | In case of ambiguity in beans for injection then @Qualifer qualifier should be added in your code. |
5 | Advantage | It is a part of Java CDI so it is not dependent on any DI framework. It makes your system loosely coupled. | It makes your application tightly coupled with Spring framework. In the future , if you want to move to another DI framework then you need reconfigure your application. |
Example of @Injection annotation
public class InjectionExample { @Inject private CarBean carbean; }
Example of @Autowired annotation
public class AutowiredExample { @Autowired private CarBean carbean; }
Advertisements