Java 如何在EJB3中注入springbean?
我试图在EJB3中访问Springbean,但它似乎没有被注入,因为我得到了一个NullPointerException 我想我还不了解beanRefContext.xml的作用以及它是如何被很好地使用的 以下EJB和XML位于WAR的WEB-INF/lib中的服务JAR中。Springbean(DAO)也在WEB-INF/lib中的一个单独的JAR中 EJB:Java 如何在EJB3中注入springbean?,java,spring,ejb-3.0,Java,Spring,Ejb 3.0,我试图在EJB3中访问Springbean,但它似乎没有被注入,因为我得到了一个NullPointerException 我想我还不了解beanRefContext.xml的作用以及它是如何被很好地使用的 以下EJB和XML位于WAR的WEB-INF/lib中的服务JAR中。Springbean(DAO)也在WEB-INF/lib中的一个单独的JAR中 EJB: @Stateless @Interceptors(SpringBeanAutowiringInterceptor.class) pub
@Stateless
@Interceptors(SpringBeanAutowiringInterceptor.class)
public class TimetrackingServiceBean implements TimetrackingService {
@Autowired
private UserDao userDao;
@Override
public List<User> getAllUsers() {
return this.userDao.findAll(); // <-- NPE
}
}
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd">
<bean name="serviceContext" class="org.springframework.context.support.ClassPathXmlApplicationContext"></bean>
</beans>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<context:annotation-config />
</beans>
...
<context-param>
<param-name>parentContextKey</param-name>
<param-value>serviceContext</param-value>
</context-param>
...
@无状态
@拦截器(SpringBeanAutowiringInterceptor.class)
公共类TimetrackingServiceBean实现TimetrackingService{
@自动连线
私有UserDao UserDao;
@凌驾
公共列表getAllUsers(){
返回这个.userDao.findAll();//你可能已经注意到了,但是如果你没有注意到,是一个新的上下文。xml
需要将你的服务上下文。xml
作为参数传递给你,但是它在你的代码中丢失了,可能是我读过的那篇文章的副本,它确实帮助了我(我想)但我还是有同样的NPE。