前言
本章的内容主要是想探讨我们在进行Spring 开发过程当中,关于依赖注入的几个知识点。感兴趣的读者可以先看下以下问题:
@Autowired,@Resource,@Inject三个注解的区别
当你在使用@Autowired时,是否有出现过Field injection is not recommended的警告?你知道这是为什么吗?
Spring 依赖注入有哪几种方式?官方是怎么建议使用的呢?
如果你对上述问题都了解,那我个人觉得你的开发经验应该是不错的。
下面我们就依次对上述问题进行解答,并且总结知识点。
@Autowired,@Resource,@Inject 三个注解的区别
Spring 支持使用@Autowired,@Resource,@Inject三个注解进行依赖注入。下面来介绍一下这三个注解有什么区别。
@Autowired
@Autowired为Spring 框架提供的注解,需要导入包org.springframework.beans.factory.annotation.Autowired。
这里先给出一个示例代码,方便讲解说明:
public interface Svc {
void sayHello();
}
@Service
public class SvcA implements Svc {
@Override
public void sayHello() {
System.out.println("hello, this is service A");
}
}
@Service
public class SvcB implements Svc {
@Override
public void sayHello() {
System.out.println("hello, this is service B");
}
}
@Service
public class SvcC implements Svc {
@Override
public