在多线程中使用spring的bean

Posted 探索互联网

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在多线程中使用spring的bean相关的知识,希望对你有一定的参考价值。

  由于spring在java开发中的广泛运用大大的方便了开发的同时,当运用一些技术比如多线程等

在由spring管理的配置文件中,可以通过封装spring提供工具,手动获得spring管理的bean,这样

既可以方便使用bean,又可以同时使用其他技术。

  可以方便的使用多种技术,而不至于由于使用spring导致不好用。

package com.jd.app.server.irp.service.task;

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

/**
* Created by liubaofeng on 2017/1/20.
*/
public class SpringBeanUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext = null;

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

public static Object getBeanByName(String beanName) {
if (applicationContext == null){
return null;
}
return applicationContext.getBean(beanName);
}

public static <T> T getBean(Class<T> type) {
return applicationContext.getBean(type);
}
}

spring xml中配置<bean id="springBeanUtil" class="com.jd.app.server.irp.service.task.SpringBeanUtil"/>

xml中配置很关键,因需要spring加载时感知,不配置取不到spring管理的bean。

相关连接

http://www.cnphp6.com/archives/135859


















以上是关于在多线程中使用spring的bean的主要内容,如果未能解决你的问题,请参考以下文章

多线程时Autowired自动注入问题

Spring框架中的单例bean是线程安全的吗?

Spring 单例 多例 线程安全等问题,想请教大家

如何在多线程中使用spring事务

Spring在多线程环境下如何确保事务一致性

Spring在多线程环境下如何确保事务一致性