Как внедрить (автоматически подключить) bean-компоненты для отображения с помощью перечисления в качестве ключа карты веJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как внедрить (автоматически подключить) bean-компоненты для отображения с помощью перечисления в качестве ключа карты ве

Сообщение Anonymous »

Я узнал, что весной я могу автоматически подключать/внедрять в Map по настроенному имени, как показано ниже:

Код: Выделить всё

public interface DummyInterface{
}

@Component("impl1")
public class Impl1 implement DummyInterface{
}

@Component("impl2")
public class Impl2 implement DummyInterface{
}

public class SomeUsage{
@Autowired
private Map mapping;
// ...
}
и извлеките компонент по строке в виде ключа, например:

Код: Выделить всё

SomeUsage use = new SomeUsage();
DummyInterface dummy = use.getMapping().get("impl1");
// do sth...
Однако, если ключ сопоставления bean-компонентов не является типом String, а типом определяемого пользователем Enum, как мне следует внедрить bean-компоненты в enumMap?

Я прочитал какой-то пост и узнал, что его можно настроить с помощью XML-файла. Но похоже, что конфигурация xml тесно связана с парой , а это означает, что каждый раз, когда я добавляю новую пару , мне приходится синхронизировать файл конфигурации, кажется, что нет никакой разницы по сравнению с моим текущим решением, то есть я все еще использую коллекцию и поддерживаю отображение в коде Java моим собственный. Есть ли лучшее решение, чтобы справиться с этим? Или я что-то пропустил?

Подробнее здесь: https://stackoverflow.com/questions/578 ... -in-spring
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»