如何在线程中获取spring 管理的bean
转载自:https://my.oschina.net/skyline520/blog/181158?fromerr=GjtR6Wec
spring xml中定义
<!--spring 工具类-->
<bean id="springContextUtil" class="com.skyline.pub.utils.SpringContextUtil"/>
SpringContextUtil的代码如下
package com.skyline.pub.utils; import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware; import java.util.Locale; /**
* Spring 获取 bean工具类
* Author: skyline{http://my.oschina.net/skyline520}
* Created: 13-6-12 上午7:44
*/
public class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext context = null;
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
this.context = applicationContext;
} public static <T> T getBean(String beanName){
return (T) context.getBean(beanName);
} public static String getMessage(String key){
return context.getMessage(key, null, Locale.getDefault());
} }
然后在线程中直接使用 (注: uploadService 为spring 中配置的bean)
@Override
public void run() {
UploadService uploadService = SpringContextUtil.getBean("uploadService");
switch (sheetIndex){
case 1:uploadService.updateMiddleSaleProcedure(start,limit); break;
case 2:uploadService.updateProductCountProcedure();break;
case 3:uploadService.updateMonthProcedure();break;
}
countDownLatch.countDown();
}
如何在线程中获取spring 管理的bean的更多相关文章
- Servlet中获取Spring管理的bean
描述: 在Servlet中调用Spring管理的接口,可以使Dao/Service/ServiceImpl. 前提是在调用的bean中有注解: @Repository("beanName&q ...
- tomcat启动后,在普通java类中获取spring管理的bean和ServletContext,(经过验证,可以取到)
//从spring容易中获取bean public static Object getBean(String beanName){ ApplicationContext context = Conte ...
- 在普通类中获取Spring管理的bean
1.在项目中添加下面的类: import org.springframework.context.ApplicationContext; import org.springframework.cont ...
- jsp中获取spring 管理的bean(通过config)
WebApplicationContext wac = (WebApplicationContext)config.getServletContext().getAttribute(WebApplic ...
- 170630、springboot编程之普通类中调用spring管理的bean对象
我们知道如果我们要在一个类使用spring提供的bean对象,我们需要把这个类注入到spring容器中,交给spring容器进行管理,但是在实际当中,我们往往会碰到在一个普通的Java类中,想直接使用 ...
- 在Servlet中获取Spring注解的bean
最近由于项目中出现了Servlet调用Spring的bean,由于整个项目中所有的bean均是注解方式完成,如@Service,@Repository,@Resource等,但是Spring的容器管理 ...
- 获取Spring管理的Bean
1.再Spring配置文件中配置工具类 <!-- 用于持有ApplicationContext,可以使用SpringContextHolder.getBean('xxxx')的静态方法得到spr ...
- 如何在servlet中获取spring创建的bean
package com.yxf.controller; import java.io.IOException; import javax.servlet.ServletException; impor ...
- 怎么随时获取Spring的上下文ApplicaitonContext,和Spring管理的Bean
BeanFactory接口 Interface BeanFactory getBean <T> T getBean(String name, Class<T> required ...
随机推荐
- mysql快速移植表数据
使用select into outfile xxx , load data infile xxx 例如 : SELECT * into outfile '/tmp/out.txt' FROM `db ...
- PHP 将html页面导出至Word
<?php header("Content-Type: application/msword"); header("Content-Disposition: att ...
- 使用Unified Auditing Policy审计数据泵导出操作
1.创建审计策略 SQL> alter session set container=pdb1; SQL> create or replace directory dumpdir as '/ ...
- Transparent Huge Pages
在RHEL6中,透明大页功能是默认开启的. 开启该选项后,内核会尽可能地尝试分配大页,如果mmap区域是2mb,那么每个linux进程都会分配到2mb大小的页.如果大页不够用了(比如物理内存不够了), ...
- getenv()函数
在PHP中getenv(参数)函数是一个用于获取环境变量的函数,根据提供不同的参数可以获取不同的环境变量,具体如下: “PHP_SELF” 当前正在执行脚本的文件名,与document root 相关 ...
- [转]Java并发编程:线程池的使用
Java并发编程:线程池的使用 在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了, ...
- [转]Tomcat中的Session小结
阅读目录 什么是Session Session的目的 实现机制 Tomcat中的session实现 session存在的问题 什么是Session 对Tomcat而言,Session是一块在服务器开辟 ...
- bash shell 合并多个文件内容到一个文件、查看多少行代码
一.简单版: $ cat **/* > merge.fuck 二.结合find + xargs + cat版本: $ find ./ -iregex '.*\.\(js\|scss\|tpl\) ...
- InlineModelAdmin对象的学习
一.InlineModelAdmin的介绍 管理界面可以在与父模型相同的页面上编辑模型.这些被称为内联. Django提供了两个子类,InlineModelAdmin它们是: TabularInlin ...
- MySQL循环语句实例教程 mysql while循环测试
在mysql数据库中操作同样有循环语句操作,标准的循环方式: while 循环 . loop 循环和repeat循环.还有一种非标准的循环: goto. 鉴于goto 语句的跳跃性会造成使用的的思维混 ...