73.1 创建自己的FailureAnalyzer

FailureAnalyzer是拦截启动时的异常并将它转换为可读消息的很好方式(包装进FailureAnalysis)。Spring Boot为应用上下文相关异常,JSR-303校验等提供分析器。实际上创建你自己的分析器也相当简单。

AbstractFailureAnalyzerFailureAnalyzer的一个方便扩展,根据指定类型的异常是否出现来进行处理。你可以继承它,这样就可以处理实际出现的异常。如果出于某些原因,不能处理该异常,那就返回null让其他实现处理。

FailureAnalyzer的实现必须注册到META-INF/spring.factories。以下注册了ProjectConstraintViolationFailureAnalyzer

org.springframework.boot.diagnostics.FailureAnalyzer=\
com.example.ProjectConstraintViolationFailureAnalyzer

如果你需要访问BeanFactoryEnvironment,你的FailureAnalyzer可以简单地分别实现BeanFactoryAwareEnvironmentAware