Estender controladores anotados no Spring MVC
Eu estou trabalhando em um projeto pequeno e tenho algum código existente que eu quero manter limpo de minhas alterações e, portanto, eu preciso estender um controlador anotado, mas isso não funciona:
package a;
@controller
public class BaseController {
// Autowired fields
protected x toExtend() {
// do stuff
}
@RequestMapping(value = "/start")
protected ModelAndView setupForm(...) {
toExtend();
// more stuff
}
}
package b;
@controller
public class NewController extends BaseController {
// Autowired fields
@Override
protected x toExtend() {
super.toExtend();
//new stuff
}
}
O pacote aeb é varrido para controladores e eu não consigo alterar isso. Eu realmente não esperava que isso funcionasse porque o @RequestMapping (value = "/ start") é redundante em ambos os controladores. E eu recebo uma exceção por causa disso.
Então, minha pergunta é se é realmente possível estender um controlador de anotação como este sem alterar o BaseController?