У меня есть класс пользовательского интерфейса vaadin с конструктором, принимающим 2 аргумента. Он строит простую линию с некоторыми полями, отображающими данные. В другом (родительском) интерфейсе я хочу внедрить этот первый пользовательский интерфейс несколько раз, в зависимости от данных, загруженных в родительский интерфейс. Итак, теперь у меня есть два вопроса:
- Могу ли я использовать аннотацию springs
@Autowired
для внедрения нескольких экземпляров пользовательского интерфейса в родительский интерфейс? Если да, как мне это сделать? - Как передать аргументы конструктору моего
@Autowired
дочернего класса?
Я уже узнал, что должен аннотироватьконструктор моего дочернего класса с @Autowired
.
Мой дочерний класс пользовательского интерфейса с конструктором (аннотированный @Autowired
)
public class ChildUI {
private String arg1;
private String arg2;
@Autowired
public ChildUI(String arg1, String arg2){
this.arg1 = arg1;
this.arg2 = arg2;
}
}
В моем родительском классе я хочу сделать что-то подобное(personList загружен из базы данных):
public class ParentUI {
...
for(Person p : personList){
//inject instance of ChildUI here and pass p.getLastName() to arg1 and p.getFirstName() to arg2
}
...
}
Некоторое время я гуглил, но не смог найти то, что искал. Может быть, я просто не знаю, какие ключевые слова искать. Может быть, кто-то попытается объяснить, что делать?