springboot+javafx使用aop切面导致的fx:id不能被注入问题

记录一个我遇到得问题

问题描述

我本来使用AOP切面来进行全局异常管理,但是使用AOP之后fxml中通过fx:id绑定得参数无法被注入

java 复制代码
@Slf4j
@Component
@Aspect
public class GlobalExceptionAspect {

    @AfterThrowing(pointcut = "execution(* com.shkj.videoclassification..*(..))", throwing = "ex")
    public void handleServiceException(Exception ex) {
        // 处理异常逻辑
//        System.err.println("Caught an exception in service layer: " + ex.getMessage());
//        ex.printStackTrace();
        log.error(ex.getMessage());
        AlertUtils.showAlert("系统错误",ex.getMessage());

    }
}

解决办法

不使用全局异常处理集合,使用try catch捕获异常进行处理

java 复制代码
@Component
@Slf4j
public class  GlobalExceptionHandler  {

    public static void handleException(Exception ex) {
        // 使用 Platform.runLater 确保在 JavaFX 线程中安全地显示弹窗
        Platform.runLater(() -> {
            log.error(ex.getMessage());
            AlertUtils.showAlert("系统错误", ex.getMessage());
        });

    }
}

手动触发异常

java 复制代码
   @FXML
    public void initialize() {
        try {
            System.out.println("初始化");
            System.out.println(labelMsg);
            throw new CheckedException("初始化失败");
        } catch (Exception e) {
            GlobalExceptionHandler.handleException(e);
        }

    }
相关推荐
swordbob21 分钟前
缓存延迟双删的两种策略
java·缓存
凡人叶枫22 分钟前
Effective C++ 条款08:别让异常逃离析构函数
java·linux·数据库·c++·嵌入式开发
云烟成雨TD23 分钟前
Agent Scope Java 2.x 系列【4】模型层
java·人工智能·agent
云烟成雨TD34 分钟前
Agent Scope Java 2.x 系列【5】智能体抽象层
java·人工智能·agent
无风听海38 分钟前
在 ASP.NET Core 开发环境中为自定义域名签发受信任的自签名证书—HSTS 启用后的完整实践
windows·后端·asp.net
阿伟AI说38 分钟前
Codex 桌面版接入国产模型系列二:Codex++
java·开源软件·ai编程·腾讯云ai代码助手
无风听海42 分钟前
深入理解 ASP.NET Core 中的UseHsts()
后端·asp.net
学编程的小程43 分钟前
DISTINCT 的“惯性陷阱“:当去重操作沦为性能累赘
后端
love_muming1 小时前
链表每日一练
java·开发语言·数据结构·链表·idea·每日一练
范什么特西1 小时前
重点:mybatis注意细节
java·mysql·mybatis