1. 引言
谈到@Autowired,大家都会首先想起springIOC容器的依赖注入几个字。
注:springIOC又叫控制反转,将原本需要我们自己管理的对象与对象之间的关系,交给spring容器来管理,我们只需要将类作为属性添入到目标类中即可,无需自己通过new关键字新建或是通过set或构造方式将类手动注入进来,就可以调用其方法,进而不但节省了开发时间,同时达到了解耦的目的。
2. 依赖注入的几种实现方式
2.1 @Autowired
- byType:首先通过类型查找
- byName :若存在两个及以上同类的,则根据名子查找
- 可与@Qualifier连用,指定使用哪个名子的bean
@Autowired
@Qualifier(value = "basicController")
BasicController basicController;
2.2 @Resource
- byName
- byType
- 自身可指定要注入的
@Resource(name = "basicController")
BasicController basicController;
2.3 @RequiredArgsConstructor
当你使用@Autowired,回发现官方不推荐,推荐使用构造方法注入,可以使用lombok提供的注解@RequiredArgsConstructor
@Controller
@RequiredArgsConstructor
public class PathVariableController {
private final BasicController basicController;
}