前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >在多线程中使用spring的bean

在多线程中使用spring的bean

作者头像
杉枫
发布于 2017-12-26 09:24:22
发布于 2017-12-26 09:24:22
7830
举报

  由于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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-01-20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring 多线程下注入bean问题
问题 Spring中多线程注入userThreadService注不进去,显示userThreadService为null异常 代码如下: public class UserThreadTask implements Runnable { @Autowired private UserThreadService userThreadService; @Override public void run() { AdeUser user = userThrea
java404
2018/05/18
1.9K0
系统学习SpringFramework:SpringBean的注入方式
Spring IOC 容器就是一个 org.springframework.context.ApplicationContext 的实例化对象,容器负责实例化,配置以及装配 Bean
栗筝i
2022/12/01
2870
系统学习SpringFramework:SpringBean的注入方式
在spring项目里面,通过上下文类ApplicationContext 获取到我们想要的bean对象,而不是注解获取
我们的spring项目,一般bean对象的创建,就是靠注解,但是我现在想要在代码里面,不是使用注解获取到bean对象,而是在上下文对象里面获取到bean对象,我们都知道,我们的项目一起动,就扫描注解,让被注解的类,创建bean对象,放到spring容器里面,之后就是从容器里面获取到对象,所以获取的时候,我们就可以这样获取
一写代码就开心
2022/06/23
1.4K0
Spring @Lookup实现单例bean依赖注入原型bean
地址:https://www.jianshu.com/p/5254e1947d77
林老师带你学编程
2019/05/25
1.1K0
【工具类】提供手动获取被spring管理的bean对象
package com.xiepanpan.utils; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; /** * @Desc
周杰伦本人
2022/10/25
4420
spring获取bean的第三种方式
之前我们引用spring里的bean都是通过@Autowired或者@Resource注解获取
阿超
2022/08/16
2770
SpringBoot静态获取 bean的三种方式
实现方式:在springboot的启动类中,定义static变量ApplicationContext,利用容器的getBean方法获得依赖对象
Vincent-yuan
2021/11/01
4.2K0
ApplicationContextAware 的 setApplicationContext() 方法执行逻辑全解析
org.springframework.context.ApplicationContextAware#setApplicationContext
一个会写诗的程序员
2021/03/18
3.6K1
ApplicationContextAware 的 setApplicationContext() 方法执行逻辑全解析
Spring @Autowired npe example:Why your Spring @Autowired component is null
找原因,找了大半天, 也翻了Spring MVC的源码。。。终于,灵机一动,看到了 private :
一个会写诗的程序员
2020/09/11
1.3K0
Spring @Autowired npe example:Why your Spring @Autowired component is null
SpringBoot2.x系列教程(四十一)SpringBoot中通过SpringContextUtils工具类获取Bean
本文给大家介绍两种通过SpringContextUtils工具类来获取Bean的方法,SpringContextUtils工具类只是大家按照通常命名的规则的一个普通工具类,当然你也可以用其他名字。
程序新视界
2020/02/23
4.1K0
【Spring注解驱动开发】BeanPostProcessor在Spring底层是如何使用的?看完这篇我懂了!!
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2020/10/29
6590
【Spring注解驱动开发】BeanPostProcessor在Spring底层是如何使用的?看完这篇我懂了!!
Mybatis系列之设置自动提交事务
业务描述:最近遇到业务很复杂的方法,有通过Spring的@Transactional注解开启事务的,不过在ie11出现bug,console日志打印已经update成功的SQL,方法很长,执行成功后,发现数据没有修改,这个和console日志打印不符合,问题比较难排查,然后通过网上资料个自己尝试fix bug,不过具体原因没有想清,浏览器本身就和事务处理没关系,为什么在不同浏览器会不同效果,所以本博客记录一下,方便以后自己回顾
SmileNicky
2020/06/03
1.3K0
工具类如何获取到 Spring 容器中的 Bean?
松哥最近正在录制 TienChin 项目视频~采用 Spring Boot+Vue3 技术栈,里边会涉及到各种好玩的技术,小伙伴们来和松哥一起做一个完成率超 90% 的项目,戳戳戳这里-->TienChin 项目配套视频来啦。 ---- 1. Aware 接口 小伙伴们知道,Spring 容器最大的特点在于所有的 Bean 对于 Spring 容器的存在是没有意识的,因此我们常说理论上你可以无缝将 Spring 容器切换为其他容器(然而在现实世界中,我们其实没有这样的选择,除了 Spring 容器,难道还有
江南一点雨
2022/06/24
1.3K0
工具类如何获取到 Spring 容器中的 Bean?
SpringBoot系列之使用Redis做Mybatis二级缓存
实现Cache接口,因为这个类不是Spring管理的,所以通过SpringContextHolder从ioc容器里获取redisTemplate类
SmileNicky
2022/01/04
6350
SpringBoot系列之使用Redis做Mybatis二级缓存
Spring-方法注入lookup、方法替换MethodReplacer接口
无状态Bean的作用域一般可以配置为singleton(单例模式),如果我们往singleton的Pilot类中注入prototype的Plane类,并希望每次调用Pilot的getPlane()方法都能返回一个新的plane Bean ,该怎么办呢?
小小工匠
2021/08/16
4560
Spring中的Aware解析
简介 Spring框架中提供了许多实现了Aware接口的类,这些类主要是为了辅助Spring访问容器中的数据,比如BeanNameAware,这个类能够在Spring容器加载的过程中将Bean的名字(id)赋值给变量。 常用的Aware BeanNameAware:能够获取bean的名称,即是id BeanFactoryAware:获取BeanFactory实例 ApplicationContextAware:获取ApplicationContext MessageSourceAware:获取Message
爱撒谎的男孩
2019/12/30
1K0
Spring Aware容器感知技术
Spring Aware是什么 Spring提供Aware接口能让Bean感知Spring容器的存在,即让Bean可以使用Spring容器所提供的资源。 Spring Aware的分类 几种常用的Aware接口如下。 Aware接口说明ApplicationContextAware能获取Application Context调用容器的服务ApplicationEventPublisherAware应用事件发布器,可以用来发布事件BeanClassLoaderAware能获取加载当前Bean的类加载器Be
Java技术栈
2018/03/30
1.2K0
Spring Aware容器感知技术
Spring 获取bean的八种方式
适合于Spring框架的B/S系统,通过ServletContext对象获取ApplicationContext对象。然后在通过它获取须要的类实例。以下两个工具方式的差别是,前者在获取失败时抛出异常。后者返回null。
小石头
2022/12/21
8630
spring上下文工具类
众所周知,spring是目前来说最好的java框架,使用spring开发程序省去了我们很多繁杂的工作,比如说自己管理bean声明周期,依赖注入等。我们平时除了依赖框架开发之外,spring同时提供了一些接口供开发者使用,这样的话我们的自己的程序就可以交给spring容器管理,或者说使用spring的很多功能,常见的ApplicationContext和InitialingBean等,接下来将简单介绍ApplicationContext的应用场景和使用姿势:
叔牙
2020/11/19
8290
spring上下文工具类
Spring系列第14篇:单例bean中使用多例bean,你未必会玩?
通常情况下,我们使用的bean都是单例的,如果一个bean需要依赖于另一个bean的时候,可以在当前bean中声明另外一个bean引用,然后注入依赖的bean,此时被依赖的bean在当前bean中自始至终都是同一个实例。
路人甲Java
2020/03/12
2.5K0
推荐阅读
相关推荐
Spring 多线程下注入bean问题
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文