@Autowired设置的某些对象始终为null,其他对象为OK

时间:2012-04-11 17:47:03

标签: java spring autowired springsource

我一直致力于我的第一个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 [dispatcher]的Servlet.service()在路径[/ flexitime]的上下文中引发异常[请求处理失败;具有根本原因的嵌套异常是java.lang.NullPointerException]   显示java.lang.NullPointerException

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

我已经广泛搜索了这个并找到了许多“解决方案”,但是它们都没有起作用。

谢谢! 詹姆斯

1 个答案:

答案 0 :(得分:0)

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

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