Со спрингом не дружу, только начинию изучать. Не могу понять, почему не хочет автоваридся PersistenceFacade. Подскажите, пожалуйста, в чем проблема. Уже много времени убил, чтобы разобраться. В спринг-контексте прописаны только бины для dataSourse - подключение к БД.
Вот тут фасад возвращает null.
@Component("gridClient")
public class ClientGrid extends CustomComponent {
@Autowired
PersistenceFacade facade;
VerticalLayout verticalLayout;
Grid<Client> grid;
public ClientGrid() {
verticalLayout = new VerticalLayout();
grid = new Grid<>();
System.out.println("Facade: " + facade);
setSettings();
initGrid();
}
Тут, вроде как, инстанциирую ClientGrid.
heme("valo")
@SpringUI(path = "")
public class MainPage extends UI {
@Autowired
ClientGrid clientGrid;
@Override
protected void init(VaadinRequest vaadinRequest) {
VerticalLayout layoutMain = new VerticalLayout();
setContent(layoutMain);
WrapperMenu menu = new WrapperMenu();
System.out.println("CLIENTGRID: " + clientGrid);
layoutMain.addComponents(menu, clientGrid);
}
}
Ну и сам PersistenceFacade. Вроде пометил его, как бин.
@Repository("persistenceFacade")
public class PersistenceFacade implements Facade {
@Autowired
private PersistenceManager manager;
@Autowired
private ConverterFactory converter;
Если установлена такая запись
@Autowired
PersistenceFacade facade;
то Spring будет искать бин с id "facade", так как не установлено другого. А сам бин объявлен так @Repository("persistenceFacade"), что означает, что у фасада id "persistenceFacade".
Варианты:
facade на persistenceFacade@Qualifier("persistenceFacade")Попробуйте обойтись только @Repository , без присваивания имени.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости