工具类从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");
相关推荐
蒲丶公英的约定11 分钟前
Java 8 中的 Stream API 使用指南
后端
tan180°11 分钟前
Linux自行实现的一个Shell(15)
linux·服务器·c++·后端·vim
xiguolangzi14 分钟前
rabbitmq从安装到使用
后端
清霜之辰17 分钟前
详解 kotlin 相对 Java 特有的关键字及使用
android·java·kotlin
拉裤兜子装不下17 分钟前
Java集成esProc 集算器实现联查CSV文件获取结果集
后端
江沉晚呤时19 分钟前
深入解析策略模式在C#中的应用与实现
java·服务器·开发语言·前端·.netcore
Hamm21 分钟前
如何在TypeScript里使用类封装枚举来实现Java的枚举形参倒置
java·前端·typescript
mikey棒棒棒38 分钟前
使用RabbitMQ实现异步秒杀
java·分布式·rabbitmq·mq
无情的搬砖机器39 分钟前
idea 打不开terminal
java·ide·intellij-idea
货拉拉技术39 分钟前
货拉拉-营销平台流程画布建设
后端