Вообщем есть контроллер в него приходят два параметра, один отвечает за то какую стратегию подгрузить. Через рефлешн подгружаю нужную стратегию, но CustomerDao остаеться не проинициализированным и как следствие NPE.
Мне необходим доступ к базе в каждой реализации стратегии, наборы данных будут различны, посему доступ к базе хочеться вынести в стратегию.
Здравствуйте, Аноним, Вы писали:
А>Подскажите как сделать, чтобы зарабобтало..
А>Вообщем есть контроллер в него приходят два параметра, один отвечает за то какую стратегию подгрузить. Через рефлешн подгружаю нужную стратегию, но CustomerDao остаеться не проинициализированным и как следствие NPE.
А зачем вам рефлексия и пр.?
Не проще ли брать сразу готовый бин из контекста по его имени? ну или по имени класса, если вам так проще. Он уже готовый будет, не нужно никаких плясок.
Здравствуйте, Аноним, Вы писали:
А>Не проще ли брать сразу готовый бин из контекста по его имени? ну или по имени класса, если вам так проще. Он уже готовый будет, не нужно никаких плясок.
Возможно сделано по аналогии с JasperReports. Т.е. класс изначально является частью отчета и поместить его в контекст никак не выходит. Но я соглашусь с вопросом. Если можно сделать иначе, то нужно сделаьт иначе.
Здравствуйте, Аноним, Вы писали:
А>А зачем вам рефлексия и пр.? А>Не проще ли брать сразу готовый бин из контекста по его имени? ну или по имени класса, если вам так проще. Он уже готовый будет, не нужно никаких плясок.
Спасибо за совет, да так даже будет проще. Еще не настолько хорошо спринг знаю
Здравствуйте, koptenkov, Вы писали:
k> IStrategy strategy = (IStrategy)ApplicationContextProvider.
Типа того, но по-моему более кошерный способ это использовать ApplicationContextAware интерфейс.