当前位置: 首页 > news >正文

applicationContext.getBean 为null

场景:

        使用SpringUtils 添加了统一类的调用。单元测试是正常的。

SpringUtils

public class SpringUtils implements ApplicationContextAware {private static ApplicationContext applicationContext;@Overridepublic void setApplicationContext(@Nonnull ApplicationContext applicationContext) throws BeansException {SpringUtils.applicationContext = applicationContext;}public static ApplicationContext getApplicationContext() {return applicationContext;}public static Object getBean(String name) {return applicationContext.getBean(name);}public static <T> T getBean(Class<T> clazz) {return applicationContext.getBean(clazz);}}

实例化:

@Configuration
@AutoConfigureOrder(value = Ordered.LOWEST_PRECEDENCE)
public class SpringAutoConfiguration {@Bean@ConditionalOnMissingBean(name = "springUtils")public SpringUtils springUtils() {return new SpringUtils();}}

问题场景1:

        在另外一个项目,引用SpringUtils,报错。applicationContext.getBean 这边为null了,设置调试。setApplicationContext也没有进来。

public void setApplicationContext(@Nonnull ApplicationContext applicationContext) throws BeansException {SpringUtils.applicationContext = applicationContext;}

检查了下启动类的@ComponentScan的包路径,也是没有问题的。 那会不会有个相似的实现类呢? idea双击Shift,输入 SpringUtil,真的有一个相似的,名字不一样。

        把前人写的那个类删了,把引用的地方进行了修改。再处理就正常了。

问题场景2:

        修改前人项目,把公共类做一个抽取,做单元测试的时候

@PostConstructpublic void init() {SysConfig sysConfig = SpringUtils.getBean(SysconfigService.class).getSysConfig("CUST_SYNC_KEY_CONFIG");if (sysConfig != null && sysConfig.getSysVarValue() != null) {}}

这个也是报applicationContext.getBean为null。这边就更容易发现,因为@PostConstrut先初始化了,SpringUtils类都没有实例化。 这边就不适合使用SpringUtils了,把引用类,改@Resource注解进行引入。

项目使用一个统一的路口访问,这样要进行使用@ConditionalOnProperty不同类实现就比较方便,比如是postgre数据库的,sql语法不一样的,就可以直接进行配置,读取不同类。

@Service
public class IassAppConfiguration {public static IassService createService() {return SpringUtils.getBean(IassServiceImpl.class);}
}

总结:

        使用applicationContext进行初始化的话,要注意项目里面是有已经存在该实现类,其次注意初始化顺序,不能在项目初始的时候就进行调用。

相关文章:

applicationContext.getBean 为null

场景&#xff1a; 使用SpringUtils 添加了统一类的调用。单元测试是正常的。 SpringUtils public class SpringUtils implements ApplicationContextAware {private static ApplicationContext applicationContext;Overridepublic void setApplicationContext(Nonnull Applica…...

无线WiFi安全渗透与攻防(六)之WEP破解-Gerix-wifi-cracker自动化破解WEP加密

WEP破解-Gerix-wifi-cracker自动化破解WEP加密 WEP破解-Gerix-wifi-cracker自动化破解WEP加密1.环境准备1.软件和kali2.下载软件,下载地址3.将软件复制到kali,解压4.进入软件目录2.破解步骤1.启动gerix-wifi-cracker-2-master软件2.设置无线网卡位Monitor Mode模式3.重新扫描…...

华为OD机试 - 环中最长子串(Java JS Python C)

题目描述 给你一个字符串 s,首尾相连成一个环形,请你在环中找出 o 字符出现了偶数次最长子字符串的长度。 输入描述 输入是一个小写字母组成的字符串 输出描述 输出是一个整数 备注 1 ≤ s.length ≤ 500000s 只包含小写英文字母用例 输入alolobo输出6说明最长子字符串之一…...

bug-跨域访问问题

问题场景 自定义 header&#xff0c;导致跨域问题 一个大屏项目&#xff0c;设置请求接口获取数据时&#xff0c;有的接口能够正常返回数据&#xff0c;有的接口提示跨域&#xff08;接口域名不同&#xff09;&#xff0c;后端也进行支持跨域设置&#xff0c;结果还是提示跨域…...

Babyk勒索病毒数据集恢复,计算机服务器中了babyk勒索病毒怎么办?

计算机网络技术的不断应用&#xff0c;为企业的生产运营提供了极大便利&#xff0c;网络技术的不断发展也带来了许多网络安全隐患&#xff0c;近期&#xff0c;云天数据恢复中心陆续接到许多企业的求助&#xff0c;企业的计算机服务器遭到了babyk勒索病毒的攻击&#xff0c;导致…...

(.htaccess文件特性)[MRCTF2020]你传你呢 1

题目环境&#xff1a; 不难看出是一道文件上传漏洞 上传一句话木马文件burpsuite进行抓包<?php eval($_POST[shell]);?> 命名为PHP文件格式 Repeater进行重放 尝试了其它后缀进行绕过都没有成功 通过 application/x-php内容类型&#xff0c;可以看出被识别出是PHP文件&…...

微软Ignite 2023大盘点:GPT-4 Turbo、DALL-E 3等

11月16日&#xff0c;微软在美国西雅图举办“Microsoft Ignite 2023”全球开发者大会。ChatGPT等生成式AI成为了本次大会的重要主题。 下面「AIGC开放社区」将根据大会发布的内容&#xff0c;盘点重要内容。 GPT-4 Turbo、 DALL E 3等全新模型 16K上下文的新GPT-3.5 Turbo模…...

应用架构的演进 I 使用无服务器保证数据一致性

在微服务架构中&#xff0c;一个业务操作往往需要跨多个服务协作完成&#xff0c;包含了读取数据和更新多个服务的数据同时进行。在数据读取和写入的过程中&#xff0c;有一个服务失败了&#xff0c;势必会造成同进程其他服务数据不一致的问题。 亚马逊云科技开发者社区为开发者…...

jupyter修改默认打开目录

当我们打开jupyter notebook&#xff08;不管用什么样的方式打开&#xff0c;使用菜单打开或者是命令行打开是一样的&#xff09;会在默认的浏览器中看到这样的界面、 但是每一台不同的电脑打开之后的界面是不同的&#xff0c;仔细观察就会发现&#xff0c;这里面现实的一些文件…...

HTML5学习系列之标题和正文、描述性信息

HTML5学习系列之标题和正文、描述性信息 标题和正文标题段落 描述性信息强调注解备选上下标术语代码预定义格式缩写词编辑提示引用引述换行显示修饰非文本注解 总结 标题和正文 标题 按语义轻重排列&#xff1a;h1\h2\h3\h4\h5\h6 <h1>诗词介绍</h1> <h2>…...

互联网医院系统:数字化时代中医疗服务的未来

随着数字化时代的发展&#xff0c;互联网医院系统在医疗服务中的作用日益凸显。本文将讨论互联网医院系统的一些关键技术方面&#xff0c;探讨这些技术如何推动医疗服务进入数字化时代。 1. 数据智能与个性化服务 互联网医院系统依赖于大数据分析和人工智能技术&#xff0c;…...

(C语言)输入一个序列,判断是否为奇偶交叉数

#include <stdio.h> #include <string.h> int main() {char str[50];gets(str);int len,tmp 1;len strlen(str); //获取字符串长度 for (int i 0;i < len-1 ;i ){if((str[i] % 2 0 ) && (str[i1] % 2 ! 0)) //判断先偶数后奇数序列 tmp ;else if((s…...

蓝桥杯模拟赛:最远滑行距离 ← dfs

【题目来源】https://www.lanqiao.cn/problems/2414/learning/【题目描述】 小蓝准备在一个空旷的场地里面滑行&#xff0c;这个场地的高度不一&#xff0c;小蓝用一个 n 行 m 列的矩阵来表示场地&#xff0c;矩阵中的数值表示场地的高度。 如果小蓝在某个位置&#xff0c;而他…...

广东电信手机号余额查询接口

接口地址&#xff1a;https://gdty.gd189.cn/MOService/mapi/moduleRecharge/recharge/querySerCount 请求参数&#xff1a; {"mphone":"15303*05139","mareaCode":"","busiId":"CDMA","chongzhiType&qu…...

这次轮到微软炸场了;5000+AI工具调研报告 (500万字);狂打一星开喷AI聊天机器人;CMU LLM课程;AI创业的方向与时机 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f251; Microsoft Ignite 2023 技术大会&#xff1a;微软的年度炸场时刻&#xff0c;而且连炸四天 https://ignite.microsoft.com OpenAI 开发…...

--max-old-space-size=8192报错

vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

单区域OSPF配置

配置命令步骤&#xff1a; 1.使用router ospf 进程ID编号 启用OSPF路由 2.使用network 直连网络地址 反掩码 area 0 将其归于区域0 注意&#xff1a;1.进程ID编号可任意&#xff08;1-65535&#xff09;2.反掩码用4个255相减得到 如下图&#xff0c;根据给出要求配置OSPF单区…...

VsCode 安装 GitHub Copilot插件 (最新)

##在线安装&#xff1a; 打开Vscode扩展商店&#xff0c;输入 "GitHub Copilot " ,选择下载人数最多的那个。&#xff08;这个是你写一部分代码或者注释&#xff0c;Ai自动帮你提示/补全代码&#xff09;,建议选择这个 注意下面有个和他类似的 "GitHub Copilo…...

人工智能基础_机器学习039_sigmoid函数_逻辑回归_逻辑斯蒂回归_分类神器_代码实现逻辑回归图---人工智能工作笔记0079

逻辑斯蒂回归(Logistic Regression)是一种常用的分类算法,其基本思想是通过拟合一个逻辑斯蒂函数来预测样本所属的类别。它广泛应用于各个领域,如医学、金融、市场营销等,具有较好的解释性和可解释性。在逻辑斯蒂回归中,我们通常使用的是二分类问题,即样本只属于两个类别…...

购买阿里云服务器需要多少钱?活动价3000元-5000元的阿里云服务器汇总

购买阿里云服务器需要多少钱&#xff1f;如果我们只有3000元-5000元的预算可以购买什么实例规格和配置的阿里云服务器呢&#xff1f;因为阿里云服务器价格是由实例规格、配置、带宽等众多配置决定的&#xff0c;所以&#xff0c;目前阿里云活动中的价格在3000元-5000元的云服务…...

GTA V脚本开发入门:5步掌握ScriptHookV核心技术

GTA V脚本开发入门&#xff1a;5步掌握ScriptHookV核心技术 【免费下载链接】ScriptHookV An open source hook into GTAV for loading offline mods 项目地址: https://gitcode.com/gh_mirrors/sc/ScriptHookV 你是否想过为GTA V创建自己的游戏模组&#xff0c;但被复杂…...

Axios内存泄漏:云原生Node.js服务的静默雪崩

1. 这不是漏洞公告&#xff0c;而是一次云原生环境下的“静默雪崩”你有没有遇到过这样的情况&#xff1a;服务在本地跑得好好的&#xff0c;一上Kubernetes就隔三差五OOM&#xff0c;Pod反复重启&#xff0c;监控里内存曲线像心电图一样剧烈波动&#xff0c;但代码里没写大对象…...

如何高效使用开源视频下载插件:专业用户的终极指南

如何高效使用开源视频下载插件&#xff1a;专业用户的终极指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper VideoDownloadHelper是一款专为…...

BurpShiroPassiveScan被动检测原理与实战调优指南

1. 这不是“加个插件就能挖到Shiro反序列化”的幻觉&#xff0c;而是你真正理解被动检测边界的开始很多人第一次在Burp Suite里装上 BurpShiroPassiveScan&#xff0c;点开一个Java老系统首页&#xff0c;看到插件弹出一条“疑似Shiro RememberMe Cookie”的告警&#xff0c;就…...

有哪些AI论文网站是真的坚守学术严谨,而不是空洞拼凑?

在 AI 写作技术迅猛发展的当下&#xff0c;越来越多的论文工具涌现出来&#xff0c;声称能快速生成高质量学术内容。然而&#xff0c;真正经得起推敲的却寥寥无几。许多工具看似功能强大&#xff0c;实则存在逻辑混乱、术语错误、格式不规范等硬伤&#xff0c;生成的文章缺乏深…...

如何用Red Panda Dev-C++打造轻量高效的C++开发环境

如何用Red Panda Dev-C打造轻量高效的C开发环境 【免费下载链接】Dev-CPP A greatly improved Dev-Cpp 项目地址: https://gitcode.com/gh_mirrors/dev/Dev-CPP 在当今C开发工具日益臃肿的背景下&#xff0c;Red Panda Dev-C以其轻量级架构和现代化功能&#xff0c;为开…...

别再让FFT精度拖后腿了!手把手教你用三点插值法把频率估计误差降到最低

别再让FFT精度拖后腿了&#xff01;手把手教你用三点插值法把频率估计误差降到最低 在音频调谐器里校准乐器音高时&#xff0c;工程师发现440Hz的标准音高在1024点FFT中总是显示为439.2Hz&#xff1b;5G基站接收端解调时&#xff0c;载波频率的微小偏移导致误码率飙升&#xff…...

脉冲相机与NeRF结合的高速场景三维重建技术

1. 高速场景重建的技术挑战与解决方案在计算机视觉领域&#xff0c;高速场景的三维重建一直是个棘手的问题。传统RGB相机受限于曝光时间和帧率&#xff0c;在拍摄快速运动物体时会产生严重的运动模糊。这种模糊不仅影响视觉效果&#xff0c;更会破坏三维重建所需的几何和纹理信…...

双手机器人灵巧操作技术:挑战、评估与实践

1. 双手机器人灵巧操作的技术挑战与评估需求在机器人研究领域&#xff0c;双手机器人系统因其接近人类操作能力的潜力而备受关注。这类系统通常配备两个7自由度机械臂和具有多指灵巧手&#xff0c;能够执行从简单的抓取放置到复杂的工具使用等多样化任务。然而&#xff0c;这种…...

【计算机毕业设计】基于Spring Boot的秒杀系统设计与实现+万字文档

博主介绍&#xff1a;✌全网粉丝3W,csdn特邀作者、CSDN新星计划导师、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、…...