java 线程类注入失败_详解SpringBoot 多线程处理任务 无法@Autowired注入bean问题解决...

在多线程处理问题时,无法通过@autowired注入bean,报空指针异常,

在线程中为了线程安全,是防注入的,如果要用到这个类,只能从bean工厂里拿个实例。

解决方法如下:

1.创建一个工具类代码:

package com.hqgd.pms.common;

import org.springframework.beans.beansexception;

import org.springframework.context.applicationcontext;

import org.springframework.context.applicationcontextaware;

import org.springframework.stereotype.component;

/**

* @description: 获取bean对象的工具类

* @author: yaorong

* @createdate: 2018/12/10

*/

@component

public class springcontextutil implements applicationcontextaware {

/**

* 上下文对象实例

*/

private static applicationcontext applicationcontext;

@override

public void setapplicationcontext(applicationcontext applicationcontext) throws beansexception {

springcontextutil.applicationcontext = applicationcontext;

}

/**

* 获取applicationcontext

*

* @return

*/

public static applicationcontext getapplicationcontext() {

return applicationcontext;

}

/**

* 通过name获取 bean.

*

* @param name

* @return

*/

public static object getbean(string name) {

return getapplicationcontext().getbean(name);

}

/**

* 通过class获取bean.

*

* @param clazz

* @param

* @return

*/

public static t getbean(class clazz) {

return getapplicationcontext().getbean(clazz);

}

/**

* 通过name,以及clazz返回指定的bean

*

* @param name

* @param clazz

* @param

* @return

*/

public static t getbean(string name, class clazz) {

return getapplicationcontext().getbean(name, clazz);

}

}

2.使用方法

@slf4j

@service

public class serialportservice {

public static serialport mserialport = null;

// private simpmessagingtemplate simpmessage;

private dataacquisitionservice das;

private systemservice systemservice;

private sysparammapper sysparammapper;

public serialportservice() {

this.das = springcontextutil.getbean(dataacquisitionservice.class);

this.systemservice = springcontextutil.getbean(systemservice.class);

this.sysparammapper = springcontextutil.getbean(sysparammapper.class);

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值