Имеет ли смысл иметь аннотированный (@Controller) Абстрактный класс в Spring контейнере, управляемом MVC, в основном хотел бы разместить большинство методов многократного использования, таких как обработчики исключений в классе Abstract и расширьте это с базовым классом, так что не нужно повторять один и тот же шаблонный код. Например.
Абстрактный класс контроллера:
@Controller
abstract class AbstractExternalController {
@ExceptionHandler(NoSuchRequestHandlingMethodException.class)
@ResponseStatus(value = HttpStatus.NOT_FOUND)
public @ResponseBody ResponseModel handleNotFoundException() {
final ResponseModel response = new ErrorModel();
response.setStatus("404");
response.setMessage("Resource Not Found");
return response;
}
...
}
Класс базового контроллера
@Controller
class ExternalControllerXXX extends AbstractExternalController {
...
}