2011-10-06 46 views
0

Spring對注射javax.ejb.EJB annotations,就像它注入@Autowired和其他JSR-220注入註釋,感謝CommonAnnotationBeanPostProcessor會級的支持。可以在Java SE webapp中將EJB注入到註釋的servlet字段中?

但是,注入不適用於servlet,因爲servlet不是由spring創建的。

文章 - Spring injects servlets too - 不給使用servlet的例子,但聲稱這是可能的使用方面的編譯時編織。不幸的是,編譯時編織不適合我們。運行時可以這樣做嗎?如果有幫助,可以將一個子類引入到servlet中,但是我希望保留EJB註釋,以便servlet仍可以部署在Java EE容器中。

編輯:應用程序將被部署到生產中的Java EE容器,但我正在考慮使用spring來運行功能測試以及開發的本地部署,以利用Tomcat中的熱JSP加載。

+0

注* *什麼*? 「注入註釋」對我來說沒有多大意義。無論如何,'@ EJB'應該在servlet中工作得很好。至少,在真正的Java EE(Web配置文件)容器上。在像Tomcat這樣簡單的servlet容器上,你需要在上面放置OpenEJB。 – BalusC

+0

注入註釋 - 資源,注入,EJB註釋。 – mdma

+0

啊,你正在使用Tomcat,因爲我猜測。好了,看看OpenEJB的:http://openejb.apache.org/3.0/tomcat.html或者使用一個真正的Java EE容器代替,比如GlassFish。它是免費的,發佈速度比Tomcat快。 – BalusC

回答

0

您將需要Glassfish中的Java EE容器來支持EJB的注入,並且要注意注入對受管類如servlet,managed beans..etc(由容器管理的類)的作用,所以在普通類中的ejb注入需要您可以使用查找。