工具类从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");
相关推荐
凯尔萨厮1 分钟前
创建Hibernate Web项目(配置类)
后端·hibernate
m0_752035639 分钟前
markdown语言格式
java
布朗克16810 分钟前
12 封装与构造方法
java·开发语言·封装·构造方法
z落落20 分钟前
C# 抽象类(abstract)
java·开发语言·c#
hyunbar77732 分钟前
NOT IN 的 NULL 陷阱:一次 UNION 数据"神秘消失"
后端
大湿兄啊啊啊32 分钟前
MID360S调试
java·服务器·前端
.Cnn36 分钟前
Maven进阶知识点
java·maven
basketball61640 分钟前
Go语言从入门到进阶:8. 接口
开发语言·后端·golang
布朗克16840 分钟前
11 面向对象思想入门
java·对象