springboot按照类型、名称注入(autowired、qualifier、resource)

1.使用autowired注解springboot默认是按照类型进行注入

2.如果在IOC容器中一个接口有多个实现类,那么不能够按照类型注入,需要按照名称进行注入

(1).可以通过@Qualifier和@Autowired注解搭配,在@Qualifier中输入需要注入的名称,如下图

    @Service("studentservice")
    public class StudentServiceImpl2{}
    @Autowired
    @Qualifier("studentservice")
    private StudentService studentService;

(2).可以通过@Resource注解按照名称注入

    @Resource(name = "studentservice")
    private StudentService studentService;

 

注:autowired注解只有一个属性required,默认为true,表示容器中必须有相应的实现类,否则注入失败。

qualifier注解只有一个属性name,表示名称。

你可能感兴趣的:(springboot踩坑)