spring 启动没有控制器的应用程序异常处理程序
spring boot application exception handler which don't have controller
我的 Spring 启动应用程序是没有控制器的独立应用程序。我正在从 spring 引导应用程序的主要方法调用服务层。
我尝试在我的 class 中使用 @ExceptionHandler @ControllerAdvice 注释,如下所示。但控制永远不会出现在我的异常处理程序方法
package com.test.exception;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(NullPointerException.class)
public void handleNullpointerExcetion() {
System.out.println("Handling Null pointer exception");
}
}
我也尝试了包名,我需要在@ControllerAdvice 中扫描它,但它不起作用
@ControllerAdvice("com.test.utility")
public class MyExceptionHandler {
@ExceptionHandler(NullPointerException.class)
public void handleNullpointerExcetion() {
System.out.println("Handling Null pointer exception");
}
}
如果我们没有我们用@RestContoller 或@Controller
注释的控制器class,我们是否无法在集中处理异常?
我不这么认为。
ControllerAdvice 仅在控制器 return 异常时使用,
它是一个层,存在于控制器 returns 中的端点之后和实际 returning 响应之前,用于插入和全局处理异常,并且仅对控制器是全局的。
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/ControllerAdvice.html
因为你没有控制器,我想 ControllerAdvice 不会帮助你。
如果你想要一个集中的错误处理机制,你必须围绕你的“Main”函数实现类似于控制器建议的东西,你可以对它有统一的异常处理响应。
我的 Spring 启动应用程序是没有控制器的独立应用程序。我正在从 spring 引导应用程序的主要方法调用服务层。
我尝试在我的 class 中使用 @ExceptionHandler @ControllerAdvice 注释,如下所示。但控制永远不会出现在我的异常处理程序方法
package com.test.exception;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
@ControllerAdvice
public class MyExceptionHandler {
@ExceptionHandler(NullPointerException.class)
public void handleNullpointerExcetion() {
System.out.println("Handling Null pointer exception");
}
}
我也尝试了包名,我需要在@ControllerAdvice 中扫描它,但它不起作用
@ControllerAdvice("com.test.utility")
public class MyExceptionHandler {
@ExceptionHandler(NullPointerException.class)
public void handleNullpointerExcetion() {
System.out.println("Handling Null pointer exception");
}
}
如果我们没有我们用@RestContoller 或@Controller
注释的控制器class,我们是否无法在集中处理异常?我不这么认为。
ControllerAdvice 仅在控制器 return 异常时使用, 它是一个层,存在于控制器 returns 中的端点之后和实际 returning 响应之前,用于插入和全局处理异常,并且仅对控制器是全局的。 https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/bind/annotation/ControllerAdvice.html
因为你没有控制器,我想 ControllerAdvice 不会帮助你。
如果你想要一个集中的错误处理机制,你必须围绕你的“Main”函数实现类似于控制器建议的东西,你可以对它有统一的异常处理响应。