У меня есть пружинный контроллер, который использует аннотации. Я дал этому контроллеру конструктор, который принимает два аргумента. Я хочу оба способа инициализации контроллера: инжектор конструктора и инжектор сеттера.
@Controller("viewQuestionController")
@RequestMapping("/public/viewQuestions")
public class ViewQuestionController
{
@Resource(name="questionService")
private QuestionService questionService;
/*public ViewQuestionController()
{
int i=0;
i++;
}
*/
public ViewQuestionController(@Qualifier("questionService") QuestionService questionService)
{
this.questionService = questionService;
}
@Resource(name="questionService")
public void setQuestionService(QuestionService questionService)
{
this.questionService = questionService;
}
}
Когда я раскомментирую конструктор по умолчанию, контроллер запускается правильно. Однако, если нет, я получаю исключение BeanInstantiationException, конструктор по умолчанию не найден; Вложенное исключение - java.lang.NoSuchMethodException.
Итак, моя конфигурация для аннотированного конструктора неверна или полностью аннотированный контроллер весной всегда нуждается в конструкторе по умолчанию?