SpringBoot怎么在线程中获取@Service Bean类
发表于:2025-11-09 作者:千家信息网编辑
千家信息网最后更新 2025年11月09日,这篇文章主要为大家展示了"SpringBoot怎么在线程中获取@Service Bean类",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SpringBoo
千家信息网最后更新 2025年11月09日SpringBoot怎么在线程中获取@Service Bean类
这篇文章主要为大家展示了"SpringBoot怎么在线程中获取@Service Bean类",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SpringBoot怎么在线程中获取@Service Bean类"这篇文章吧。
如何在线程中获取@Service Bean类
这个适用于没有Spring配置文件的Springboot项目中,有配置文件的话取bean就方便多了。
下图是我用@Service注解声明的一个Mybatis Mapper Bean,平常在Springboot扫描配置下的类直接用
@Autowired注解依赖注入。
我现在需要在线程中使用,然而Springboot自然而然只能扫描到自己的东西 ,线程实现的Runnable接口,
我们现在开始解决问题
1、首先创建一个配置类继承ApplicationContextAware,取得ApplicationContext。
利用里面的getBean方法取得你想要的Bean类。
这样你就能在线程中得到你要的Bean类了。挺坑的!!!
多线程中获取bean对象
注:多线程场景下,使用默认的spring自动装配无法获取bean对象,此方案可以从context上下文中直接获取bean。
创建类
实现ApplicationContextAware接口;
package com.bond.match.utils;import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware;import org.springframework.stereotype.Component;/** * Created with IntelliJ IDEA. * Date: 2018/1/11 0011 * Time: 13:20 * To change this template use File | Settings | File Templates. */@Componentpublic class ApplicationContextProvider implements ApplicationContextAware { private static ApplicationContext context; private ApplicationContextProvider(){} @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { context = applicationContext; } public static T getBean(Class aClass){ return context.getBean(aClass); }} 多线程中的调用方式
.method()是bean对象的方法名称
ApplicationContextProvider.getBean(AccountAssetService.class).method()
以上是"SpringBoot怎么在线程中获取@Service Bean类"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
线程
配置
内容
对象
篇文章
接口
文件
方法
注解
学习
帮助
平常
自然而然
上下
上下文
下图
东西
名称
场景
方式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
社区服务软件开发项目
用数据库精确查找姓名
联想e77s是服务器吗
新乡网络安全基地
山西服务器存储虚拟主机
ftp服务器2008
工控网络安全证书
有必要学软件开发吗
数据库 撤销
赤峰学院巴林格斯尔数据库
九月网络安全法规
数据库审计日志在哪
网络技术开发 许可证
班级财务管理数据库设计
网络技术架构的作用
数据库的浏览途径
小学网络安全作业内容
视频综合管理服务器
东莞功能软件开发方案
亿雄软件开发
sql数据库如何定义表的关系
苏州嵌入式软件开发费用
随锐科技与中国互联网
网络安全管理责任人制度
intelamd数据库
腾达建设数据库
数据库一个数据叫什么
桌面软件开发需要什么
山西企业软件开发建设
景区单车软件开发