Bootstrap

@Autowried、接口、实现类、多个实现类、有参构造方法

1、@Autowried与接口搭配使用,注入的是接口实现类

2、接口有多个实现类的情况

//接口UserInterface,有多个实现类AImpl,BImpl...

@Autowired
@Qualifier("AImpl")
private UserInterface aImpl;

//或者
@Resource(name="AImpl")
private UserInterface aImpl;

3、@Autowried直接注入实现类报错

         面向接口编程思想,spring代理了实现类。

4、@Autowried搭配有参构造方法

   
    /**
        此方法为有参构造函数
        UserService 是接口,有UseServiceImpl1,UseServiceImpl2,UseServiceImpl3三种实现类
        此处的@Autowired注入的是UserService 的实现类,且三种实现类均被注入
    */
    @Autowired
    public UserController(List<UserService> userServiceList) {
        //....
    }

 

 

;