Разрешение зависимостей с несколькими типами autowire?

В модуле module1.сосуд:

<bean id="customerService" class="com.service.CustomCustomerServiceImpl" > </bean>

В модуле 2.сосуд:

<bean id="customerService" class="com.service.CustomerServiceImpl" > </bean>


public class CustomerController {
    @Autowired
    protected CustomerService customerService;

// getters and setters  
}

Я вижу, что CustomerService всегда вводится CustomCustomerServiceImpl.

Мой вопрос заключается в том, следует ли создавать исключение при запуске сервера
поскольку существует два компонента (CustomCustomerServiceImpl и CustomerServiceImpl) типа CustomerService.

Не следует ли весной бросить исключение?

Как spring может разрешить аннотацию autowire по типу здесь, когда найдено несколько бобов?

Обновить :-

public class CustomCustomerServiceImpl extends CustomerServiceImpl {}

1 ответ

  1. Не следует ли весной бросить исключение ? Как весна может разрешить autowire типом здесь когда множественный
    бобы найдены ?

    Если некоторые имена классов конфликтуют, то JVM попытается загрузить их из jar, который приходит ранее в classpath. Так весна не бросает никакие исключения и она просто autowiresCustomerServiceImpl типа от ОПАРНИКА нагруженного сперва (предполагая CustomerServiceImpl implements CustomerService) .

    Пожалуйста, посмотрите здесь для получения более подробной информации о том, как работает загрузка класса.