例如:interface接口有两个实现类InterfaceImpl1和InterfaceImpl2

    1. InterfaceImpl1
    2. @Service
    3. public class InterfaceImpl1 implements Interface{}
    1. InterfaceImpl2
    2. @Service
    3. public class InterfaceImpl2 implements Interface{}

    方法一:指定实现类的优先级,注入的时候使用优先级高的实现类

    1. InterfaceImpl2
    2. @Service
    3. @Primary //同一个接口的实现类,最多只有有一个添加该注解
    4. public class InterfaceImpl2 implements Interface{}

    在controller中注入接口,默认使用的是Primary标注的实现类的方法

    方法二:@Autowired和@Qualifier配合注入

    1. @Autowired
    2. @Qualifier("InterfaceImpl1")
    3. Interface interface;

    方法三:使用@Resource注入,根据默认类名区分

    1. @Resource("InterfaceImpl1")
    2. Interface interface;

    方法四:使用@Resource注入,根据@Service指定的名称区分

    1. @Service("s1")
    2. public class InterfaceImpl1 implements Interface{}
    3. @Resource("s1")
    4. Interface interface;