Spring @Autowired装配查找规则
2020-02-07 本文已影响0人
凯凯frank
@Autowired 是一个注解,它可以对类成员变量、方法及构造函数进行标注,让 spring 完成 bean 自动装配的工作。
@Autowired 默认是按照类型进行匹配,如果匹配到多个,会继续按照变量名作为id去匹配。例如有两个UserService
// UserService.java
@Service // bean的默认id是userService
public class UserService{
}
// UserServiceExtends.java
@Service// bean的默认id是userServiceExtends
public class UserServiceExtends extends UserService{
}
// UserController.java
@Autowired // 变量名是userService, 会匹配到第一个bean,即UserService
private UserService userService;
可以配合使用 @Qualifier 指定要装配的bean的id。
@Autowired
@Qualifier("userServiceExtends")// 会匹配到第而个bean,即UserServiceExtends
private UserService userService;