具有spring autowired的RemoteServiceServlet提供nullpointerexception

时间:2013-02-13 12:18:45

标签: spring gwt aspectj spring-aop

我正在使用GWT和Spring。我遇到了在@Autowired中使用RemoteServiceServlet bean的问题。出于某种原因,这不会自动生效,我需要使用@Configurable来实现这一点。我跟着this approach,但我仍然得到NullPointerException @Autowired的{​​{1}}:

@Configurable
@Transactional(propagation = Propagation.REQUIRED, readOnly = false)
public class AServiceImpl extends RemoteServiceServlet implements AService {

    @Autowired
    private IABean aBean;

    @Override
    public void aMethodFromAService(Args arg[]) {
        aBean.aMethodOfABean(); // this gives a NullPointerException
    }
}

@Component
public class ABean implements IABean {
    ...
}

有关正在发生的事情的任何指导?我需要提供的任何额外信息?

2 个答案:

答案 0 :(得分:0)

http://mitosome.blogspot.be/2011/01/injecting-spring-beans-into-gwt.html

感谢亚历山大让我走向正确的方向

答案 1 :(得分:0)

你找到了一个可行的解决方案,但仅仅是为了记录,我们按照以下方式工作:

public class MyServiceImpl extends RemoteServiceServlet 
                           implements MyService, ServletContextAware
{
    @Autowired private transient SomeService someService;
    ....
}

<context:annotation-config/>
<context:component-scan base-package="..."/>

SomeService是一个完全由vanilla定义的bean。也许那个或...implements ServletContextAware会产生影响。

干杯,