Dependency Injection in Spring With Annotations

@Autowired, @Resource, and @Inject are examples for annotations that are used for dependency injection in Spring.

While @Autowired is provided by the Spring framework, @Resource and @Inject are java standard annotations.

When using annotation-based dependency injection, if the dependency is not injected, we would get an exception at the startup of our application itself.

 

@Autowired annotation

@Autowired does dependency injection based on name, type etc. without explicitely defining dependencies. You can learn more about autowiring with example @ bean-autowiring-in-spring.

 

@Resource annotation

Similarly @Resource does automatic dependency injection based on the name of the property (if @Resource is used without any parameters) or based on the name you specify as @Resource (name= "dependent-bean-name").

 

@Component and @ComponentScan Annotations

@Component annotation can be used to tell Spring that a class is a bean without declaring it as a bean in the spring xml. 

 

You can enable component-scanning,from code using the ComponentScan annotation:

@ComponentScan(basePackages = {

"com.javajee.spring1",

 "com.javajee.spring2"

})

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)