AI知识研学圈 2015-04-20 12:38 采纳率: 0%
浏览 801

如何在线程类中实现Dao对象的注入,如下程序运行时logMsgSendDao都为null,怎样处理?

如何在线程类中实现Dao对象的注入,如下程序运行时logMsgSendDao都为null,怎样处理?
图片说明

  • 写回答

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依赖项。

    评论

报告相同问题?