Extienda los controladores anotados en Spring MVC
Estoy trabajando en un proyecto pequeño y tengo un código existente que quiero mantener limpio de mis cambios y, por lo tanto, necesito extender un controlador anotado pero esto no 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
}
}
Los paquetes ayb se escanean en busca de controladores y no puedo cambiar esto. Realmente no esperaba que esto funcionara porque el @RequestMapping (value = "/ start") es redundante en ambos controladores. Y tengo una excepción por esto.
Entonces, mi pregunta es si realmente es posible extender un controlador controlado por anotación de esta manera sin cambiar el controlador de base.