如何使用注释在Spring MVC中注入EJB?

时间:2017-07-10 14:50:32

标签: spring-mvc java-ee dependency-injection ejb

我的dispatcher-servlet.xml基本上有:

<context:component-scan base package="package.ejb" /> 
<mvc:annotation-driven />

在@Controller类中我有:

@Controller
public class ApplicationController {
    @EJB(lookup="java:global/MyEarName/MyWebModuleName/BeanImplementation!package.ejb.morepackages.BeanImplementation")
    private MyBeanInterface myBean;

这没有用,看起来Spring没有看到@EJB注释,并且它在部署时发出错误,说它没有找到任何Autowire候选者。所以我添加了以下代码:

   @Autowired 
   @Qualifier("BeanImplementation")
   public void setMyBean(MyBeanInterface myBean) {
       this.myBean = myBean;
   }

关于我的bean实现:

@Component("BeanImplementation")
@Stateless(mappedName = "BeanImplementation", name = "BeanImplementation")
@LocalBean
public class BeanImplementation implements MyBeanInterface {

它有效,但我需要使用EJB的查找字符串,因为Spring没有看到@EJB,所以我不能这样做。我被迫恢复到非Spring应用程序以使用@EJB(lookup =&#34; ...&#34;)。

因此,澄清一个问题:如何使用注释和使用EJB查找字符串在Spring MVC中注入EJB?谢谢。

0 个答案:

没有答案