снова небольшая проблема, понимая «как работает гобелен».Гобелен: Внедрение во время выполнения
У меня есть компонент Гобелена (в данном случае значения датчик):
public class EditionEncoder implements ValueEncoder<Edition>, ValueEncoderFactory<Edition> {
@Inject
private IEditionManager editionDao;
public EditionEncoder(IEditionManager editionDao) {
this.editionManager = editionDao;
}
@Override
public String toClient(Edition value) {
if(value == null) {
return "";
}
return value.getName();
}
@Override
public Edition toValue(String clientValue) {
if(clientValue.equals("")) {
return null;
}
return editionManager.getEditionByName(clientValue);
}
@Override
public ValueEncoder<Edition> create(Class<Edition> type) {
return this;
}
}
подающего менеджер не работает, потому что кодировщик создается в пределах страницы, как, что:
public void create() {
editionEncoder = new EditionEncoder();
}
casued этим, я буду вынужден использовать это уродливое решение:
@Inject
private IEditionManager editionmanager;
editionEncoder = new EditionEncoder(editionManager);
есть ли лучший способ для инъекции компонентов во время работы или для этого есть лучшее решение?
Спасибо за вашу помощь заранее,
yip, это понятно для меня. Но, например, весной можно «заставить» механизм впрыска с помощью ручных экземпляров. Я ищу похожий способ., Я не люблю путь с аргументами конструктора. – user3066027