如何在线程类中实现Dao对象的注入,如下程序运行时logMsgSendDao都为null,怎样处理?
如何在线程类中实现Dao对象的注入,如下程序运行时logMsgSendDao都为null,怎样处理?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-03 17:15关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在Spring框架中,为了使线程对象具有正确的依赖关系,我们可以使用
@Autowired注解。但是,在这种情况下,我们无法直接将LogMsgSendDao注入到AThread类中,因为AThread类是通过创建一个新的实例来初始化的。然而,如果你想要在构造函数中设置依赖项(例如
mobileNum),你可以这样做:@Autowired public AThread(String mobileNum) { this.mobileNum = mobileNum; }然后,你可以在构造方法调用中传递一个
MobileNumber对象:public void init(AThread.AThreadConfig config, MobileNumber mobileNumber) { // ... } // ... AThread.AThreadConfig config = new AThread.AThreadConfig(); config.setMobileNumber(mobileNumber); init(config, mobileNumber);这样,你就可以在构造函数中设置
AThread的依赖属性了。现在,当AThread被创建并初始化时,它将包含正确的LogMsgSendDao依赖项。解决 无用评论 打赏 举报