在多线程中使用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的更多相关文章
- web项目中获取spring的bean对象
		Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架,如何在程序中不通过注解的形式(@Resource.@Autowired)获取Spring配置的bean呢? Bean工厂(c ... 
- Java(多)线程中注入Spring的Bean
		问题说明 今天在web应用中用到了Java多线程的技术来并发处理一些业务,但在执行时一直会报NullPointerException的错误,问题定位了一下发现是线程中的Spring bean没有被注入 ... 
- java多线程中注入Spring对象问题
		web应用中java多线程并发处理业务时,容易抛出NullPointerException. 原因: 线程中的Spring Bean没有被注入.web容器在启动时,没有提前将线程中的bean注入,在线 ... 
- 【转】Java(多)线程中注入Spring的Bean
		问题说明 今天在web应用中用到了Java多线程的技术来并发处理一些业务,但在执行时一直会报NullPointerException的错误,问题定位了一下发现是线程中的Spring bean没有被注入 ... 
- 如何在自定义Listener(监听器)中使用Spring容器管理的bean
		正好以前项目中碰到这个问题,现在网上偶然又看到这个问题的博文,那就转一下吧. 原文:http://blog.lifw.org/post/46428852 感谢作者 另外补充下:在web Server容 ... 
- 如何在servlet的监听器中使用spring容器的bean
		另外补充下:在web Server容器中,无论是Servlet,Filter,还是Listener都不是Spring容器管理的,因此我们都无法在这些类中直接使用Spring注解的方式来注入我们需要的对 ... 
- Spring(004)-Bean装配
		一,问题,Bean找不到 代码 @Component public class DemoClass { public int doSth() { ; } } 测试代码 @RunWith(SpringJ ... 
- Spring 在多线程中,bean的注入问题
		最近碰到了一个问题,使用SSM框架,在Service层需要另开一个线程,这个线程专门用来做一些操作,并将结果写入数据库中.但是在线程中使用@Resource或者@Autowired注入全部为NULL, ... 
- 在Spring的bean中注入HttpServletRequest解密
		我们可以在Spring的bean中轻松的注入HttpServletRequest,使用@Autowired HttpServletRequest request;就可以了. 但是,为什么我们可以直接这 ... 
随机推荐
- angularJs实现动态增加输入框
			摘要:首先,有一个这样的需求,就是说,我点击添加,会动态出现需要输入的输入框.我们需要定义一个对象,类似这种, {spc:{},spctions:[]} 意思是spc对应的是一个对象,spctions ... 
- 关于css中a标签的样式
			CSS为一些特殊效果准备了特定的工具,我们称之为“伪类”.其中有几项是我们经常用到的,下面我们就详细介绍一下经常用于定义链接样式的四个伪类,它们分别是: :link :visited :hover : ... 
- Kafka 温故(一):Kafka背景及架构介绍
			一.Kafka简介 Kafka是分布式发布-订阅消息系统.它最初由LinkedIn公司开发,使用Scala语言编写,之后成为Apache项目的一部分.Kafka是一个分布式的,可划分的,多订阅者,冗余 ... 
- 关于Spring mvc注解中的定时任务的配置
			关于spring mvc注解定时任务配置 简单的记载:避免自己忘记,不是很确定我理解的是否正确.有错误地方望请大家指出. 1,定时方法执行配置: (1)在applicationContext.xml中 ... 
- 记录下(同一个计算机)多个容器 dockr bridge(桥接)    docker-compose 配置
			直接上 version: '3' services: mysql: container_name: mysql image: mysql:5.7.21 environment: MYSQL_ROOT_ ... 
- SQL Server限制IP访问1433端口
			1.用系统自带的防火墙,启用防火墙 2.点击[添加端口],名称填1433,端口号填1433 3.协议TCP,点[更改范围],选自定义列表,那个框里就填本机服务器的IP地址. 
- expect学习笔记及实例详解【转】
			1. expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示:1.1 首行加上/usr/bin/expect1.2 spawn: 后面加上需要执行的shell命令,比如说sp ... 
- Error updating database. Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String异常处理
			问题原因:Mybatis中对于时间参数进行比较时的一个BUG. 如果拿传入的时间类型参数与空字符串‘‘进行对比判断则会引发异常.,所以应该去掉该判断, 只保留非空判断就正常了 <if test= ... 
- findHomography和perspectiveTransform
			opencv中的两个函数,之前一直不明白这俩函数到底是要干嘛的. 得到两帧图像中的特征点后,就可以用findHomography得到单应性矩阵. 得到单应性矩阵后,可以 (1)根据相应的计算方法,由前 ... 
- dede列表页调用
			{dede:list pagesize ='16'} <li class="item pull-left"> <a class="item-wrap&q ... 
