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

记录一个我遇到得问题

问题描述

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

@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());}
}

image.png

解决办法

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

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

手动触发异常

   @FXMLpublic void initialize() {try {System.out.println("初始化");System.out.println(labelMsg);throw new CheckedException("初始化失败");} catch (Exception e) {GlobalExceptionHandler.handleException(e);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/63973.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB图卷积神经网络GCN处理分子数据集节点分类研究

全文链接:https://tecdat.cn/?p38570 本文主要探讨了如何利用图卷积网络(GCN)对图中的节点进行分类。介绍了相关的数据处理、模型构建、训练及测试等环节,通过对分子数据集的操作实践,展示了完整的节点分类流程&#…

Ubuntu安装Gitlab详细图文教程

1、环境准备 1.1、Ubuntu环境 Ubuntu24.04Sever版安装教程 1.2、更新系统 sudo apt update -y sudo apt-get update sudo apt-get upgrade 2、安装Nginx 2.1 安装nginx # 安装 apt install nginx -y 2.2 修改nginx配置⽂件 # 修改nginx配置 vim /etc/nginx/si…

使用Hydra库简化配置管理

使用Hydra库简化配置管理 简介 在现代软件开发中,配置管理是至关重要的。应用程序的灵活性和可维护性很大程度上取决于其如何处理配置。Hydra是一个由Facebook AI Research (FAIR) 开发的Python库,它旨在简化复杂应用的配置过程。Hydra使得开发者可以轻…

1. 机器学习基本知识(2)——机器学习分类

1.4 机器学习分类 1.4.1 训练监督 1. 监督学习:已对训练数据完成标记 分类:根据数据及其分类信息来进行训练,使模型能够对新的数据进行分类 回归:给出一组特征值来预测目标数值 2. 无监督学习:没有对训练数据进行任…

Jupyter Notebook 切换虚拟环境

方法 切换到需要添加到Jupyter Notebook中的虚拟环境,执行: python -m ipykernel install --name Jupyter Notebook中显示的虚拟环境名称如果遇到 [Errno 13] Permission denied: /usr/local/share/jupyter类似的权限问题,可能是没有对应的…

【游戏设计原理】7 - 加德纳的多元智能理论

虽然多元智能理论是对认知方式的分类,但它也可以为游戏设计提供丰富的思路和策略,帮助设计师创建更具吸引力、包容性和多样性的游戏。通过理解不同玩家的认知方式和优势,我们可以更精准地设计游戏的元素和玩法,使其能够吸引广泛的…

计算机网络技术基础:1.计算机网络的产生与发展

从1946年世界上第一台计算机ENIAC的诞生,计算机网络的发展大体可分为以下4个阶段。 一、第一代计算机网络——面向终端的计算机网络 第一代计算机网络也称面向终端的计算机网络,它是以主机为中心的通信系统。这样的系统中,除一台中心计算机&…

SAP MMPV报错MMPV_DATE_CHECK

异常提示:MMPV_DATE_CHECK检查失败,请参照NOTE 1082841。 解决方法: TCODE:SU3 在用户参数上增加:参数 MMPV_READ_NOTE 参数值:当天日期。

ionic capacitor JSValueEncodingContainer报错

try to clean the build folder. exit Xcode. upgrade your capacitor core libraries update cocoapods to 1.13.0 do “pod install --repo-udpdate” after that: ionic build --prodnpx cap updatenpx cap syncnpx cap open ios capacitor ios最低版本要求13 [Bug]:…

全面解读PPO算法:结合DeepSpeed Chat实现分析, Critic Loss的设计

全面解读PPO算法:结合DeepSpeed Chat实现分析 1. 什么是PPO? Proximal Policy Optimization (PPO) 是一种基于策略梯度的强化学习方法,属于 Actor-Critic 框架的改进算法。它的目标是稳定地优化策略,避免策略更新过于激进&#x…

【html 常用MIME类型列表】

本表仅列出了常用的MIME类型,完整列表参考文档。 浏览器通常使用 MIME 类型(而不是文件扩展名)来确定如何处理 URL,因此 Web 服务器在响应头中添加正确的 MIME 类型非常重要。 如果配置不正确,浏览器可能会曲解文件内容…

Flink CDC技术介绍

Flink CDC(Change Data Capture)是基于数据库的日志CDC技术,实现了全增量一体化读取的数据集成框架,可以高效地实现海量数据的实时集成。 Flink CDC是一种功能强大、灵活易用的数据集成框架,适用于多种实时数据处理场…

旋转位置编码的理解

这里写目录标题 高维情况下的旋转位置编码1. 词向量维度很大的概念2. 旋转位置编码在高维向量上的公式3. 实际例子:4 维词向量第一组 ( 1 , 0 ) (1, 0) (1,0) 的旋转第二组 \((0, 1)\) 的旋转旋转后完整的 4 维向量 4. 更高维的情况为什么要这样分组? 5…

uni-app之web-view组件 postMessage 通信【跨端开发系列】

🔗 uniapp 跨端开发系列文章:🎀🎀🎀 uni-app 组成和跨端原理 【跨端开发系列】 uni-app 各端差异注意事项 【跨端开发系列】uni-app 离线本地存储方案 【跨端开发系列】uni-app UI库、框架、组件选型指南 【跨端开…

机器学习辅助天线性能极限突破

电磁超构表面与天线技术的结合离不开三个尺度下对三个方面的考虑,即微观的单元、介观的排布、宏观的性能这三个尺度的分析、综合与调控。在单元设计层面,目前主要依靠经验和大规模数值迭代,耗时长、成功率不稳定、通用性较差;在阵…

如何持续优化呼叫中心大模型呼入机器人的性能?

如何持续优化呼叫中心大模型呼入机器人的性能? 原作者:开源呼叫中心FreeIPCC,其Github:https://github.com/lihaiya/freeipcc 持续优化呼叫中心大模型呼入机器人的性能是一个复杂而细致的过程,它涉及到数据、模型结构…

Deveco报错Only files in a module can be previewed

创建工程后需要看看预览的效果,却出现了这个错误 到Index.ets文件下重新构建工程 详细可以查询 鸿蒙报错(Only files in a module can be previewed)

安装Python库

安装Python库 一、pip安装参数--no-deps 更换下载源,一劳永逸 二、conda下载 一、pip安装 换源安装并且信任该下载源 pip install pipenv -i http://pypi.douban.com/simple --trusted-host pypi.douban.com参数 –no-deps ​ 有些 packages 会依赖一些其它的 p…

uniappp配置导航栏自定义按钮(解决首次加载图标失败问题)

1.引入iconfont的图标,只保留这两个文件 2.App.vue引入到全局中 import "./static/fonts/iconfont.css"3.pages.json中配置text为图标对应的unicode {"path": "pages/invite/invite","style": {"h5": {"…

19. 【.NET 8 实战--孢子记账--从单体到微服务】--记账模块--收支记录

在本篇文章中,我们将一起编写孢子记账的收支记录功能(CURD),同样我们只列出一个具体功能的实现,剩下的功能由读者实现。 一、 需求 需求如下: 编号需求说明1新增记录1.记录内容包括转换前金额、转换后金…