一、企業開發模式
目前javaEE應用的開發方式大致可以分為兩種:一種以Spring、Hibernate等開源框架為基礎即所謂的輕量級JavaEE應用;另一種則以EJB3+JPA為基礎配合一些前端框架如JSF、struts2、SpringMvc等等的經典JavaEE開發模式。由於EJB2.0使用相對比較復雜,目前使用的情況來說很多企業基本上使用的是ssh架構,EJB3.0做了改善之後開始以spring+ejb+jpa的組合方式進行開發。
二、Spring MVC+ejb整合
1.通過工廠的方式
public class EJBFactory
{
public static Object lookup(String ejbRefName)
{
try{
InitialContext ctx=new InitialContext();
return ctx.lookup("java:comp/env/"+ejbRefName);
<span > </span> }
catch(NamingException e)
{
e.printStackTrace();
}
}
}
2.通過Spring將兩者結合
方法一、通過spring提供的ejb代理對象
<bean id="myComponent"
class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean">
<property name="jndiName" value="ejb/myBean"/>
<property name="businessInterface" value="com.mycom.MyComponent"/>
</bean>
<bean id="myController" class="com.mycom.myController">
<property name="myComponent" ref="myComponent"/>
</bean>
方法二、通過<jee:local-slsb> 或者 <jee:remote-slsb>
<jee:local-slsb id="myComponent" jndi-name="ejb/myBean"
business-interface="com.mycom.MyComponent"/>
<bean id="myController" class="com.mycom.myController">
<property name="myComponent" ref="myComponent"/>
</bean>
三、總結
不管以哪種方式組合,最根本的還是需要通過jndi去查找相應的ejb,只不過三種方式是在jndi查找的基礎上進行了封裝,如工廠方法是將jdni查找的過程進行了封裝;Spring提供了兩種方法,一個是工廠構造出相應的ejb代理對象,這種方法是spring容器經常使用的一種方法;一種是通過攔截器實現,當有ejb請求是相應的攔截器會將請求傳遞給jndi查找到的ejb。三種方法都可以,只不過相對而言通過spring的方式更有效率更簡單,好多問題spring容器都給我們解決了。
Spring MVC+Spring3+Hibernate4開發環境搭建 http://www.linuxidc.com/Linux/2013-07/87119.htm
Spring MVC整合Freemarker基於注解方式 http://www.linuxidc.com/Linux/2013-02/79660.htm
基於注解的Spring MVC簡單介紹 http://www.linuxidc.com/Linux/2012-02/54896.htm
Spring MVC 框架搭建及詳解 http://www.linuxidc.com/Linux/2012-01/52740.htm