如何在线程中获取spring 管理的bean

 我来答
shiguang0122
2016-11-10 · TA获得超过2778个赞
知道大有可为答主
回答量:1253
采纳率:66%
帮助的人:753万
展开全部

只要搜一下“获取 spring bean”,获取spring bean的N中方法都出来了。线程中获取和普通类中获取方法是一样的。

下面是一种方法。这个类需要配置在Spring中。

使用的时候直接:Bean bean = SpringUtil.getBean("bean的id",  Bean.class);//Bean.class是bean的类对象,比如获取 UserService的bean,就是:

UserService us = SpringUtil.getBean("userService", UserService.class);


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

/**
 * Spring IOC上下文工具类
 * @ClassName: SpringUtil 
 * @Description: 
 * @author 
 * @date 2014-6-21 下午02:06:48 
 */
public class SpringUtil implements ApplicationContextAware {

    /**
     * 当前IOC
     */
    private static ApplicationContext applicationContext;

    /**
     * 设置当前上下文环境,此方法由spring自动装配
     */
    public void setApplicationContext(ApplicationContext arg0)
            throws BeansException {
        applicationContext = arg0;
    }

    /**
     * 从当前IOC获取bean
     * @param id
     *            bean的id
     * @return
     */
    public static <T> T getBean(String id, Class<T> requiredType) {
        T t = applicationContext.getBean(id, requiredType);
        return t;
    }

}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式