工具类从spring里面获取对象

  1. 创建工具类

    /**

    • spring容器的相关方法,如根据名称获取spring实例
    • @author 天真热
    • @create 2022-04-28 9:55
    • @desc
      **/

    import org.springframework.beans.BeansException;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.ApplicationContextAware;
    import org.springframework.stereotype.Component;

    @Component
    public class SpringContextUtils implements ApplicationContextAware {
    private static ApplicationContext applicationContext;

    复制代码
     @Override
     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
         SpringContextUtils.applicationContext = applicationContext;
     }
    
     public static Object getBean(String name) {
         return applicationContext.getBean(name);
     }
    
     public static <T> T getBean(Class<T> requiredType) {
         return applicationContext.getBean(requiredType);
     }
    
     public static <T> T getBean(String name, Class<T> requiredType) {
         return applicationContext.getBean(name, requiredType);
     }
    
     public static boolean containsBean(String name) {
         return applicationContext.containsBean(name);
     }
    
     public static boolean isSingleton(String name) {
         return applicationContext.isSingleton(name);
     }
    
     public static Class<? extends Object> getType(String name) {
         return applicationContext.getType(name);
     }

    }

2.调用

ps:正常我们不指定类注入到spring的名称,默认都是使用"首字母小写的类名"作为名称

复制代码
 TaskRunKafkaLogService taskRunKafkaLogService = (TaskRunKafkaLogService) SpringContextUtils.getBean("taskRunKafkaLogServiceImpl");
相关推荐
Dovis(誓平步青云)6 小时前
《Linux CPU频率为何忽高忽低:cpufreq、idle状态与性能抖动教程》
linux·运维·服务器·spring boot·后端·生成对抗网络
Lhappy嘻嘻13 小时前
Java IO|File 文件操作 + 字节流 / 字符流完整笔记 + 递归删除文件实战
java·笔记·php
To_OC13 小时前
手写 AI 编程 Agent 的命令执行工具:我被 child_process 坑出来的实战经验
后端·node.js·agent
伊玛目的门徒13 小时前
试用leetcode之典中典 二数之和问题
java·算法·leetcode
逝水无殇15 小时前
C# 异常处理详解
开发语言·后端·c#
懒鸟一枚16 小时前
深入理解 Linux 内存、Swap 交换分区与分页机制的关系
java·linux·数据库
我命由我1234518 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
考虑考虑18 小时前
Sentinel安装
java·后端·微服务
IT_陈寒18 小时前
SpringBoot自动配置失灵?你可能忘了这个关键注解
前端·人工智能·后端
碎碎念_49218 小时前
SpringBoot + Vue 前后端分离从 0 到 1 完整环境配置流程
vue.js·spring boot·后端