gpt4 book ai didi

java - 使用 xml 配置的 spring bean 类中的 DAO null

转载 作者:行者123 更新时间:2023-12-02 11:16:17 27 4
gpt4 key购买 nike

我正在尝试将 uploadDao 注入(inject)到 bean DemoHandler(下面的 XML)中。但正如预期的那样,它是 Null。问题是如何正确注入(inject) DAO。

现在,有一个从 WebUploadServiceImpl 到 DemoHandler 的方法调用,我可以再添加 1 个参数并从 uploadDao 发送我需要的值,但随后该方法会被多个 java 类重用,并且所有这些方法都需要重构该新参数将与其他类无关。

有没有办法让uploadDao注入(inject)到DemoHandler中?任何帮助深表感谢。谢谢

Spring XML:

<bean id="wuService" class="com.abcd.service.WebUploadServiceImpl">
<property name="uploadDao" ref="uploadDao" />
<property name="webHandlers">
<set>
<bean class="com.abcd.service.handler.DemoHandler" />
</set>
</property>
</bean>

代码:

public class DemoHandler {

private UploadDao uploadDao;

public List handleM(...) {
...
Period period = uploadDao.anyMethod(..); --- Null here
}
}

最佳答案

如果DemoHandler需要设置一个dao,为什么不做这样的事情......

<bean id="uploadDao" class="whatever.dao.UploadDaoImpl"/>

<bean id="wuService" class="com.abcd.service.WebUploadServiceImpl">
<property name="uploadDao" ref="uploadDao" />
<property name="webHandlers">
<set>
<bean class="com.abcd.service.handler.DemoHandler">
<property name="uploadDao" ref="uploadDao" />
</bean>
</set>
</property>
</bean>

您只需复制 WebUploadServiceImpl 中已使用的注入(inject)机制即可。您还没有显示该代码,我不知道您是否使用 @Autowired、set 方法或任何其他可能性。

关于java - 使用 xml 配置的 spring bean 类中的 DAO null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50256893/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com