zoukankan      html  css  js  c++  java
  • 多线程下自动注入问题

    通过自定义工具类获取bean方式

    注意: 此工具类要放在启动类包下,优先执行类扫描.

           或者 SpringUtil类加名字 @Component("SpringUtil") ,使用类加 @DependsOn("SpringUtil")

    @Component
    public class SpringUtil implements ApplicationContextAware {

    /**
    * 上下文对象实例
    */
    private static ApplicationContext applicationContext;

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

    /**
    * 获取applicationContext
    *
    * @return
    */
    public static ApplicationContext getApplicationContext() {
    return applicationContext;
    }

    /**
    * 通过name获取 Bean.
    *
    * @param name
    * @return
    */
    public static Object getBean(String name) {
    return getApplicationContext().getBean(name);
    }

    /**
    * 通过class获取Bean.
    *
    * @param clazz
    * @param <T>
    * @return
    */
    public static <T> T getBean(Class<T> clazz) {
    return getApplicationContext().getBean(clazz);
    }

    /**
    * 通过name,以及Clazz返回指定的Bean
    *
    * @param name
    * @param clazz
    * @param <T>
    * @return
    */
    public static <T> T getBean(String name, Class<T> clazz) {
    return getApplicationContext().getBean(name, clazz);
    }
    }
  • 相关阅读:
    Jenkins发布Java项目
    自动发布项目(支持部署,回退功能)
    Gitlab Server
    1一站式管理所有SpringBoot启动类,Services服务窗口
    Navicat 连接MySQL8.0.23 出现2059错误
    2命令模式
    1模板方法模式
    7享元模式
    6外观模式
    5桥梁模式
  • 原文地址:https://www.cnblogs.com/lhn9527/p/14981368.html
Copyright © 2011-2022 走看看