Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在EJB3中注入springbean?_Java_Spring_Ejb 3.0 - Fatal编程技术网

Java 如何在EJB3中注入springbean?

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

我试图在EJB3中访问Springbean,但它似乎没有被注入,因为我得到了一个NullPointerException

我想我还不了解beanRefContext.xml的作用以及它是如何被很好地使用的

以下EJB和XML位于WAR的WEB-INF/lib中的服务JAR中。Springbean(DAO)也在WEB-INF/lib中的一个单独的JAR中

EJB

@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。