一、企业开发模式
目前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);
? }
? ? ? catch(NamingException e)
? ? ? {
? ? ? ? e.printStackTrace();
? ? ? }
? ? }
}
2.通过Spring将两者结合
方法一、通过spring提供的ejb代理对象
? ? ? ? class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean">
? ?
? ?
?
? ?
方法二、通过 或者
? ? ? ? business-interface="com.mycom.MyComponent"/>
?
? ?
三、总结
不管以哪种方式组合,最根本的还是需要通过jndi去查找相应的ejb,只不过三种方式是在jndi查找的基础上进行了封装,如工厂方法是将jdni查找的过程进行了封装;Spring提供了两种方法,一个是工厂构造出相应的ejb代理对象,这种方法是spring容器经常使用的一种方法;一种是通过拦截器实现,当有ejb请求是相应的拦截器会将请求传递给jndi查找到的ejb。三种方法都可以,只不过相对而言通过spring的方式更有效率更简单,好多问题spring容器都给我们解决了。