笔记

错误处理

  • 异常处理 @ControllerAdvice
    AOP方式运行,捕获controller中抛出的异常,如果返回void(但是实用了ResponseStatus),可能会继续转到errorController处理。
    常用的异常有:
    BadRequestException,NotFoundException,ServerRejectException, SystemException
  • 自定义ErrorController
    系统统一错误页面,会接管系统所有的错误显示。
  • 带ResponseStatus的Exception
    运行方式不明,待检验。

获取Annotation标签

AnnotationUtils.findAnnotation(ex.getClass(), ResponseStatus.class) 如果exception有ResponseStatus申明(没见过!!),则抛出该异常,由默认的异常处理器处理?
findAnnotation能找到方法的申明吗?如spring task的schedule申明?
可以用以下方法

Method method = ClassUtils.getMethod(AnnotationUtilsTest.class, "test");
Set set = AnnotationUtils.getRepeatableAnnotation(method, Length.List.class, Length.class);
AnnotationUtils.getRepeatableAnnotation(ClassUtils.getMethod(TimeTest.class, "test"), Schedules.class, Scheduled.class)
获取所有的service bean
Map beans = ctx.getBeansWithAnnotation(org.springframework.stereotype.Service.class);
另外提供了一个AnnotatedElementUtils用于简化java.lang.reflect.AnnotatedElement的操作。

TODO

《JavaEE开发的颠覆者: Spring Boot实战》 比较全的springboot介绍,一定要下载。

你可能感兴趣的:(笔记)