Мне нравится инъекция на основе конструктора, так как она позволяет мне вводить поля с впрысками final
. Мне также нравится вложение, связанное с аннотацией, поскольку оно упрощает мой context.xml
. Я могу отметить свой конструктор @Autowired
, и все работает отлично, если у меня нет двух параметров одного типа. Например, у меня есть класс:Весна - впрысните 2 бобы того же типа
@Component
public class SomeClass {
@Autowired(required=true)
public SomeClass(OtherClass bean1, OtherClass bean2) {
…
}
}
и контекст приложения с:
<bean id="bean1" class="OtherClass" />
<bean id="bean2" class="OtherClass" />
Там должен быть способ указать боб ID на конструктор класса SomeClass
, но я могу» t найти его в документации. Возможно ли, или я мечтаю о решении, которое еще не существует?
'@ Autowire' является по имени тоже, но в этом случае вам необходимо предоставить сеттер. Но здесь аргументы конструктора предпочтительнее, и '@ Autowire' не будет работать, если оба args одного типа. Следовательно, вещь может быть решена с помощью '@ Qualifier'. –
разъяснил ответ. – Bozho
Заметил ....... + 1 –