На основе официальной документации Spring 3.x :
Вы можете установить столько идентификаторов, сколько хотите для компонента, с двумя подходами:
Укажите количество идентификаторов в атрибуте name
, разделенных запятой (,), точкой с запятой (;) или пробелом.
Использование <alias>
. этот подход полезен, когда вы хотите указать на bean-компонент в другой системе / подсистеме, как он полностью описан в документации:
Указание всех псевдонимов, где фактически определен bean-компонентне всегда адекватно, однако. Иногда желательно ввести псевдоним для компонента, который определен в другом месте. Это обычно имеет место в больших системах, где конфигурация разделена между каждой подсистемой, каждая подсистема имеет свой собственный набор определений объектов. В метаданных конфигурации на основе XML вы можете использовать этот элемент для выполнения этого.
Итак, чтобы ответить на ваш вопрос, да, вы можете сделать это с атрибутом name
ДляБонусный вопрос, вам нужно использовать Bean Scopes