gpt4 book ai didi

java - @Autowired 设置的某些对象始终为 null,其他对象则可以

转载 作者:行者123 更新时间:2023-12-01 05:22:47 26 4
gpt4 key购买 nike

我一直致力于我的第一个 Spring 项目,并且遇到了一个恼人的问题。

我有一个名为“UsernameService”的类,它在dispatcher-servlet.xml 中配置为bean:

<bean id="usernameService" class="service.UsernameService" scope="session" >
<aop:scoped-proxy />
</bean>

当这个 bean 在我的一个类中创建时(bean 定义:)

<bean id="testController" class="controller.TestController" />

因此:

 @Autowired
UsernameService uns;

它工作得非常好。但是,当我尝试在另一个类 LogController 中执行相同操作时:

<bean id="logController" class="controller.LogController" />

然后它不起作用,并且出现以下错误:

SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/flexitime] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException

我已经设法(我相信)将此错误归因于以下事实:uns 从未实际设置/创建,并且在 LogController 中保持为 null。

我在 Google 上进行了广泛的搜索,找到了许多“解决方案”,但到目前为止,没有一个有效。

谢谢!詹姆斯

最佳答案

auto-wire 属性添加到您的 bean:

<bean id="usernameService" class="service.UsernameService" scope="session" autowire="byName">
<aop:scoped-proxy />
</bean>

关于java - @Autowired 设置的某些对象始终为 null,其他对象则可以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10111220/

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