论坛首页 Java企业应用论坛

EJB3+spring2.5+struts2和ejb3+servlet增,删,改,查实现!

浏览 11346 次
精华帖 (1) :: 良好帖 (1) :: 新手帖 (9) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-10-27  
冗余设计了,的确
spring跟ejb本来就不是用来结合开发的
0 请登录后投票
   发表时间:2010-10-27  
mmwy 写道
Struts有一个ejb3的插件,只要在webapp中加上这个插件的jar包,就可以在拦截器、Action中直接使用类似下面的注解了,根本不需要spring。

@EJB
private HelloBean bean;


是的,这个东东前段时间已经用过!
0 请登录后投票
   发表时间:2010-10-27  
hua0424 写道
想说说为什么我觉得LZ的spring+ejb是多余的。
用spring的主要是ioc,用ejb最大好处是独立部署,分部式部署。
假如你把ejb的服务注入到spring中了,逻辑分别在spring和ejb中,那ejb独立运行和部署有什么意义?为什么不把ejb的逻辑放到spring中?
要说分布式,用了spring,可以将需要的服务独立运行app再用远程调用如hessian之类
反之也一样,struts2本来就可以直接注解ejb了,根本不用spring多此一举。
依本人愚见,spring+ejb根本是冗余而不是优化

至于整合是多此一举,我也不这么认为,认为尽管ejb3是规范,而Spring是框架,但是成功整合他们可以创建出功能比较强大的应用程序,也就是说你可以在spring应用程序中使用部分或者全部EJB3实现,这样Spring就可以简化EJB3和jPA的使用!也就是说Spring bean可以访问ejb3会话bean并且重用业务逻辑!当然这个小小的案例没有体现出来!仅仅是作为入门的学习而已

还有阁下的意思还是ejb和spring是替代关系,我不这么认为,认为他们各自有优缺点!
1:依赖注入的比较:Spring支持一般意义上且复杂的DI API,其基于XML配置文件。EJB3.0支持大多数普通服务对象(如EJB及context对象)的注入和任何简单注解的JDNI,虽然,Spring里基于XML的依赖注入语法复杂,但却功能强大。
3:声明性事务比较:EJB3.0运用Java注解来配置声明性服务,而Sring使用XML配置文件。在大多数情况下,EJB3.0注解方式对于这种服务更简单明了!
等等  可以知道他们都是各有优点,不能简单的理解为替代的关系!当然小弟也是刚入门,有什么不对的,请指示!
0 请登录后投票
   发表时间:2010-10-27  
楼主用的技术很复杂,EJB+spring很少有人用这个组合

可以看看Rod的那两本书,spring并不能完全替代EJB,只是对于非分布式的,可以替代,当然spring+web service也可以实现
0 请登录后投票
   发表时间:2010-10-27  
lkj107 写道
楼主用的技术很复杂,EJB+spring很少有人用这个组合

可以看看Rod的那两本书,spring并不能完全替代EJB,只是对于非分布式的,可以替代,当然spring+web service也可以实现

好的,有时间看看这两本书!谢谢!
0 请登录后投票
   发表时间:2010-10-27  
看看Spring手册第18章的概念 明显是互补和增强,而且Spring的作者也不再Without EJB了。
为了避免底层代码的重复,许多EJB应用程序采用了Service Locator和Business Delegate设计模式,这比在客户端程序中使用很多JNDI查询要好很多,但其缺陷也是十分明显的,例如:
*  依赖Service Locator和Business Delegate singleton的程序代码通常是难以测试的。
*  若只使用Service Locator模式,而不使用Business Delegate,那么应用程序依旧必须调用一个EJB Home的craete()方法,并处理各种异常。因此,应用程序将与EJB的API与复杂编程模型紧密耦合在一起。
*  使用Business Delegate模式通常将造成大量的重复代码,仅仅为了调用EJB的同一个方法,开发人员必须编写许多程序。

而通过Spring,则可以创建和使用在Spring内部配置好的代理,这个代理将扮演业务delegate的角色,开发人员无需编写另外一个Service Locator和JNDI查询代码,也无需复制Business Delegate的方法调用,除非是在这些程序代码确实有其他有价值的内容。
0 请登录后投票
   发表时间:2010-10-28  
用spring干什么,直接用struts+ejb就可以了。

spring用的越来越过了
0 请登录后投票
   发表时间:2010-10-29  
都用ejb3了,直接用Seam框架多好
0 请登录后投票
   发表时间:2010-10-29  
struts做为control, ejb3作为application, spring做service, 持久ejb3 entity可以满足了,
0 请登录后投票
   发表时间:2010-10-29  
mmwy 写道
Struts有一个ejb3的插件,只要在webapp中加上这个插件的jar包,就可以在拦截器、Action中直接使用类似下面的注解了,根本不需要spring。

@EJB
private HelloBean bean;


哈哈
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics