SpringContextHolder

上下文处理类-SpringUtil import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.sprin... 阅读详情
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEvent;
import org.springframework.context.EnvironmentAware;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;

import java.util.Map;

/**
 * SpringContextHolder
 *
 * @author ygr
 * @date 2021/11/29 21:04
 */
@Component
public class SpringContextHolder implements ApplicationContextAware, EnvironmentAware {

    private static ApplicationContext context;
    private static Environment environment;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        SpringContextHolder.context = applicationContext;
    }

    @Override
    public void setEnvironment(Environment environment) {
        SpringContextHolder.environment = environment;
    }

    public static ApplicationContext getContext() {
        return context;
    }

    public static Environment getEnvironment() {
        return environment;
    }

    public static <T> T getBean(Class<T> requireType) {
        return context.getBean(requireType);
    }

    public static Object getBean(String beanName) {
        return context.getBean(beanName);
    }

    public static <T> T getBean(String beanName, Class<T> requireType) {
        return context.getBean(beanName, requireType);
    }

    public static <T> Map<String, T> getBeans(Class<T> requireType) {
        return context.getBeansOfType(requireType);
    }

    public static String getConfigProperty(String key) {
        return environment.getProperty(key);
    }

    public static <T> T getConfigProperty(String key, Class<T> type) {
        return environment.getProperty(key, type);
    }

    public static void publishEvent(ApplicationEvent event) {
        context.publishEvent(event);
    }

}

从申请到落地:解锁OAI骨科数据集的实战指南与避坑经验 本文是一份详尽的OAI骨科数据集实战指南,重点解析了从NDA账号申请、权限审批到数据定位与高效下载的全流程。文章分享了使用login.gov注册、Chrome浏览器避坑、nda-tools命令行批量下载等核心技巧,并总结了常见问题排查方法,旨在帮助医学影像与骨关节炎研究者高效解锁这一宝贵数据资源。 阅读详情

相关推荐

YF-S401水流量传感器在STM32上的精准计量实现

本文详细介绍了YF-S401水流量传感器与STM32微控制器的集成应用,实现精准水流计量。通过外部中断和外部时钟两种脉冲计数方案,结合硬件配置、软件滤波和校准技巧,确保高精度流量测量。适用于智能家居和工业自动化中的水控系统,提升系统稳定性和测量准确性。

rainy的博客 897

Spring框架中事件发布及其原理

Spring框架中事件发布及其原理事件源发布事件定义事件源定义事件定义监听器测试springContextHolderApplicationContextAware接口ApplicationContext发布事件的原理AbstractApplicationContext事件广播earlyApplicationEventsApplicationEventMulticasterSimpleApplicationEventMulticaster总结附录 在业务系统中,当多个模块之间需要进行通信的时候,事件可以作

Mr_YuanD的博客 2125

【sap2000】部分模型通过.s2k文件合并模型generating a global model through partial models by .s2k text file

现在需要通过选项File → Import → SAP2000 .s2k Text File → Add to existing model(如果使用其中一个部分模型作为基础)或New model(如果使用新文件)添加部分模型,并使用以下导入选项。模型A(阶段1/5) Model A (Phase 1/5)模型B(阶段2/5) Model B (Phase 2/5)模型C(阶段3/5) Model C (Phase 3/5)模型E(阶段5/5) Model E (Phase 5/5)

hmywillstronger的博客 1750

Spring Boot:Spring Event的初步讲解

Spring提供了Event的功能,只要添加了spring-context依赖就可以引入,简单好用。 要使用Event只要准备三个部分: 事件类:定义事件,继承ApplicationEvent的类成为一个事件类。 发布者:发布事件,通过ApplicationEventPublisher发布事件。 监听者:监听并处理事件,实现ApplicationListener接口或者使用@EventListener注解 举个例子 定义发布者 事件源通常是某个业务类,当它处理完自身的业务

言尭的博客 5930

到底什么是电源的斜波补偿,电源芯片CS引脚作用,一文讲清楚!

上文有提到电流环,其实电流环再细分也有很多模式,用的最多的是峰值电流模式峰值电流模式调节工作原理如下:(1)当输出负载增大时,输出电压降低,因此,Vc 增大,线性增加的电感电流只有升高到更大的值才能使 PWM 电流比较器翻转,开关管导通的时间增长,占空比增加,输入功率增加,因此输出电压增加,当输出电压增加到调节的范围内时,系统保持平衡。

jwgdhuwdhg的博客 1万+

基于YOLOv8的多类别检测模型融合实战:从数据集重构到模型训练

本文详细介绍了如何将多个单一类别的YOLOv8检测模型融合为一个高效的多类别检测模型。通过重构数据集、利用预训练模型生成新标签,并重新训练,解决了多模型并行带来的速度慢、资源占用高和部署复杂等问题。实战流程涵盖数据准备、标签生成、模型训练与评估,旨在帮助开发者构建性能优异的YOLOv8多类别检测模型。

kmeans3miner的博客 227

【Spring】Spring之publishEvent

【Spring】Spring之publishEvent

qq_41466440的博客 2435

工业自动化实战:用LabVIEW的DSC模块实现MODBUS-TCP设备控制

本文详细介绍了如何利用LabVIEW的DSC模块实现工业自动化中的MODBUS-TCP设备控制。通过环境准备、核心功能解析、状态机实现及典型工业场景实战,帮助工程师快速掌握稳定可靠的通讯技术,提升工业自动化系统的运行效率。

salt9的博客 1057

SpringCloud Alibaba 2021微服务实战二十二 项目优化之异步处理日志syslog @Async @EventListener注解的应用

原理讲解 AOP 切面获取当前请求的注解值,并 异步 发送时间,减少日志操作的性能损耗 监听器在接收到日志事件后进行调用feign入口处理 @EventListener注解的应用 在开发工作中,会遇到一种场景,做完某一件事情以后,需要广播一些消息或者通知,告诉其他的模块进行一些事件处理,一般来说,可以一个一个发送请求去通知,但是有一种更好的方式,那就是事件监听,事件监听也是设计模式中 发布-订阅模式、观察者模式的一种实现。 观察者模式:简单的来讲就是你在做事情的时候身边有人在盯着你,当你做的某.

liuerchong的博客 2001

课堂练习及课后作业2.1:外部中断

本关任务:通过相关知识以及实验回答:版本 1 内核的第 6 次时钟中断发生时,断点和恢复点(指令地址)分别是多少?本关任务:修改版本 0 内核,使得每发生 100 次时钟中断,就在屏幕上输出一个字符‘t’和当时的进程号,如“t(0)”表示0号进程运行时发生了时钟中断。本关任务:通过实际操作回答在输出第一行 0/1 字符的过程中(如下图所示),共发生了几次时钟中断?本关任务:修改版本 1 内核源码,使得每次时钟中断发生时,都在屏幕上输出字符‘t’。分析版本1内核,找到第一次时钟中断的恢复点地址。

Junds0的博客 1万+

《拉依达的嵌入式\驱动面试宝典》—C/CPP基础篇(二)

《拉依达的嵌入式\驱动面试宝典》 整合了所有我认为可能遇到的技术面试问题。所有问题及其答案均是我个人学习后查阅资料总结,每个回答都做了仔细的分析,在嵌入式及其驱动面试相关问题解析做到全网独一无二。学习或者转行到嵌入式、驱动开发领域学习的不二之选

拉依达不拉跨的博客 578

SpringContextHolder 作用

以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候取出ApplicaitonContext. 使用方式。在启动类里添加Bean package com.yl; import com.yl.utils.SpringContextHolder; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootAppli

haixinjing的博客 1275

Office系列完全干净卸载工具合集(最全)

使用 Microsoft Fix it 卸载 Microsoft Office 套件 一、Windows 7、Windows Vista或Windows XP下卸载Office 1.MicrosoftEasyFix50416 工具用来卸载office 2003 MicrosoftEasyFix50416_Office2003.msi 2.MicrosoftEasyFix50154 工具用来卸载office 2007 MicrosoftEasyFix50154_Office2007.msi 3.Microso

业精于勤,荒于嬉 3万+

使用SpringContextHolder获取bean实例

       昨天在开发的时候遇到一个小问题,本来博主在写Excel的导出,但是Excel所有数据都是动态的,需要根据用户id将用户名显示出来,此时就需要调用用户服务。由于ExcelExportUtil这个类是我自己封装的,用于导出的工具类。里面所有方法都是静态的。这时,如果使用@Autowired注解装配bean,是无法在静态...

清风一阵吹我心 3779

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SpringContextHolder工具类

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34415923的博客 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SpringContextHolder工具类---通过springContextHolder静态注入实体Bean

/** * Copyright &amp;copy; All rights reserved. */ import org.apache.commons.lang3.Validate; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.Dispo...

m0_37837382的博客 3656

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

SpringBoot中SpringContextHolder工具类使用

SpringContextHolder作用: 以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候取出ApplicaitonContext。 SpringContextHolder @Component public class SpringContextHolder implements ApplicationContextAware { /** * 以静态变量保存ApplicationContext,可在任意代码中取出Applicaiton

jike11231的博客 6995

使用SpringContextHolder获取bean

我们通常在utils工具类中写方法,想注入一些bean进去,但是发现@Autowired没有用,因为我们utils工具类中的方法是static修饰的方法,里面只能调static修饰的方法,和使用对象是static的。正常情况下@Autowired无法注入静态的bean,于是可以使用如下方法: private static ITokenService iTokenService = Spring...

芥末的博客 4328

SpringContextHolder工具类获取spring对象

SpringContextHolder工具类获取spring对象 通过springContextHolder静态注入实体Bean 1.工具类用途? 该工具类主要用于那些没有归入spring框架管理的类却要调用spring容器中的bean提供的工具类,在spring中要通过IOC依赖注入来取得对应的对象,但是该类通过实现ApplicationContextAware接口,以静态变量保存Spring ApplicationContext, 可在任何代码任何地方任何时候中取出ApplicaitonConte

kang1011的博客 1625

SpringContextHolder使用报错

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dobecoder/article/details/88401612今天在使用SpringContextHolder来获取一个bean的时候出现错误,报错如下:java.lang.IllegalStateException: applicaitonContext属性未注入, 请在application...

weixin_30326515的博客 299

SpringContextHolder直接从spring容器中获取bean

参考一: SpringContextHolder直接从spring容器中获取bean 创建类 SpringContextHolder import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframe

u012102536的博客 1482

SpringContextHolder的作用

** 项目SSH,spring项目SpringContextHolder的作用 今天在一个utils包下的文件中写一个方法的时候想去使用@autowired注入一些对象,但发现不可以直接使用@Autowired,因为方法是static,方法中使用的对象也必须是static,但正常情况下@Autowired无法注入静态的bean,于是发现项目中用到了springContextHolder 写一个工具类 比如BaseHolder 实现ApplicationContextAware接口 package com.

weixin_44663044的博客 754

SpringContextHolder获取bean

前景,工具类的某个方法想要获取bean的实例,但是工具类的方法是static的,不能使用@Autowired 注入。想了一下,可以通过SpringContextHolder在工具类中使用 //示例调用代码代码 private static EmailService emailService = SpringContextHolder.getBean(EmailService.class); ...

疯狂小草的博客 2702
上一篇: java后端Excel导出工具
下一篇: springboot2集成shiro认证鉴权(上篇)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值