千家信息网

SpringBoot怎么在线程中获取@Service Bean类

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要为大家展示了"SpringBoot怎么在线程中获取@Service Bean类",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"SpringBoo
千家信息网最后更新 2025年01月21日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安全错误 数据库的锁怎样保障安全 软件开发功能价目表 云安网络安全收入 分布式数据库的三大特点 网络安全人财物方面支持措施 宿迁市网络安全保卫支队 邯郸盛邦软件开发有限公司 linux 重启服务器 西安卡拉克网络技术有限公司 软件开发转风控职业规划 数据库限定数据的输入格式是 南京万得软件开发薪酬 初中网络安全教育公开课 淮安app软件开发多少钱 我国软件开发的方法 网络技术应用教教科版 删除服务器如何找回 手机软件开发授权书 云服务器多少钱一个月多少钱 网络安全技术与应用论文 广州专业软件开发哪家实惠 苹果服务器为什么会出错 检查fpt服务器是什么意思 内向的女生适合做软件开发吗 长沙财务软件开发报价 大理州网络安全宣传周 什么是数据库dba权限 德州计算机软件开发学校信息 phpcms修改数据库 浦东新区品牌软件开发问答知识 网络安全技术试点项目名单
0