当前位置: 首页 > 知识库问答 >
问题:

Spring Boot应用程序无法在intellij idea中启动,显示异常

邵文乐
2023-03-14

我试图在Intellij Idea中运行应用程序,但我遇到了以下错误。。。。

org.springframework.beans.factory.BeanCreationException:创建名为'globalExceptionHandler'的bean时出错:查找方法解析失败;嵌套异常java.lang.IllegalStateException:无法自省类[com.app.exception_handlerGlobalExceptionHandler]从ClassLoader[org.springframework.beans.factory.support.]在org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:289)~[spring-beans-5.3.9.jar: 5.3.9]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcess(AbstractAutowireCapableBeanFactory.java:1284)~[spring-beans-5.3.9.jar: 5.3.9]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1201)~[spring-beans-5.3.9.jar: 5.3.9]在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireBeanFactory.java:564)~[spring-beans-5.3.9.jar: 5.3.9]在org.springframework.boot.devtools.restart.classloader.RestartClassLoader@2ad58620DefaultListableBeanFactory. preInstantiateSingletons(DefaultListableBeanFactory. java: 944)~[spring-bean-5.3.9. jar: 5.3.9]在org. springframework. conttext. support。AbstractApplication Context. finishBeanFactory初始化(AbstractApplication Context. java: 918)~[spring-conttion-5.3.9. jar: 5.3.9]在org. springframe. conttext. support。AbstractApplication Context-5.3.9. jar: 5.3.9]在org. springframe. boot。SpringApplication.刷新(SpringApplication. java: 754)~[spring-boot-2.5.4. jar: 2.5.4]在org. springframe. boot。SpringApplication.刷新上下文(SpringApplication. java: 434)~[spring-boot在java. base/java. lang. refect上委托方法访问程序。调用方法(Method. java: 566)~[na: na]在org. springframe. boot. devtools. restart。RestartLauncher. run(RestartLauncher. java: 49)~[spring-boot-devtools s-2.5.4. jar: 2.5.4]

下面是全局异常处理程序类

package com.app.exception_handler;

import java.time.LocalDateTime;

import org.springframework.dao.EmptyResultDataAccessException;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.http.converter.HttpMessageNotReadableException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.context.request.WebRequest;
import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler;

import com.app.custom_exceptions.UserHandlingException;
import com.app.dto.ErrorResponse;

@ControllerAdvice
public class GlobalExceptionHandler extends ResponseEntityExceptionHandler{
    
    @ExceptionHandler(RuntimeException.class)
    public ResponseEntity<?> handleRuntimeException(RuntimeException e) {
        System.out.println("in handle run time exc " + e);
        ErrorResponse resp = new ErrorResponse(e.getMessage(), LocalDateTime.now());
        return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).body(resp);
    }
    
    @ExceptionHandler(EmptyResultDataAccessException.class)
    public ResponseEntity<?> handleEmptyDataExcetpion(EmptyResultDataAccessException e) {
        System.out.println("in handle  exc " + e);
        ErrorResponse resp = new ErrorResponse(e.getMessage(), LocalDateTime.now());
        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(resp);
    }

    @ExceptionHandler(UserHandlingException.class)
    public ResponseEntity<?> handleUserHandlingException(UserHandlingException e) {
        System.out.println("in handle user exc " + e);
        ErrorResponse resp = new ErrorResponse(e.getMessage(), LocalDateTime.now());
        return ResponseEntity.status(HttpStatus.NOT_FOUND).body(resp);
    }
    
    @Override
    protected ResponseEntity<Object> handleMethodArgumentNotValid(MethodArgumentNotValidException ex,
            HttpHeaders headers, HttpStatus status, WebRequest request) {
        System.out.println("in handle invalid meth args ");
        StringBuilder sb = new StringBuilder("Validation Errors : ");
        ex.getBindingResult().getFieldErrors().forEach(e -> sb.append(e.getDefaultMessage()+" "));
        return ResponseEntity.status(HttpStatus.BAD_REQUEST)
                .body(new ErrorResponse(sb.toString(), LocalDateTime.now()));
    }
    


}

共有1个答案

萧飞
2023-03-14

我已经测试了这段代码片段-应用程序启动很好。

非法状态异常(IllegalStateException)表示某个方法在非法或不适当的时间被调用。换言之,Java环境或Java应用程序对于请求的操作没有处于适当的状态。

 类似资料:
  • 我的程序编译了所有内容,我没有出错,但我实际上期望tomcat应该永久在端口8080上。输出中也没有Spring。在另一个项目中,我做的一切都很好。谢谢你帮助我。 我的父母: 我的tarter.class: 我的Starter-Pom: 控制台输出: 然后什么都不会发生了。谢谢你的帮助。

  • 我试图创建一个应用程序,但我一直遇到相同的运行时异常。我已经和它斗争了好几天,我不知道如何修复它。任何建议都将不胜感激!这是我在Java中的第一个相当长的项目,所以我决心解决它;只是有相当多的麻烦,我不知道如何克服这一点。

  • 我将我的文件夹(myApp)复制到Tomcat8的webapps文件夹中。 然后我转到“Tomcat Web Application Manager”&在那里看到“/myApp”running=false。然后单击Start&发现了以下错误: 注意:这是myApp的web.xml Catalina.2014-05-09.log:

  • 乍一看,这个问题似乎是重复的。我已经在谷歌搜索了一些,但不幸的是,没有一个结果不符合我。我给出了下面的问题链接。 应用程序启动方法java.lang.Reflect.InvocationTargetException JavaFX图像转换中出现异常 JavaFX-应用程序启动方法中的异常? 应用程序启动方法中出现异常 堆栈跟踪: 无法从此StackTrace跟踪错误。然后我在start方法中使用了

  • 我已经在tomcat服务器上安装了应用程序。在启动和加载应用程序的过程中,我有以下堆栈跟踪的错误。如何解决这个问题? apache-tomcat-7.0.47/webapps/petclinic 2016年10月27日下午12:14:36 org。阿帕奇。卡塔琳娜。果心标准上下文起始内部 严重:ServletContainerInitializer处理javax时出错。servlet。Servle

  • 问题内容: 我只是从JavaFX开始,我正在尝试构建一个带有标签,文本字段和按钮的简单应用程序,单击该按钮即可将标签的值设置为文本字段的值。一切顺利,直到我将控制器连接到Main文件。这是我的代码: Main.java MainWindowView.fxml MainWindowController.java 我已经尝试过在StackOverflow上找到的多个答案,但是我发现的所有答案都是两年前