|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
主要缺点就是:速度比较慢,没有C和C++快
作为轻量级的容器,Spring经常被以为是EJB的替换品。我们也信任,关于良多(纷歧定是尽年夜多半)使用和用例,相对经由过程EJB容器来完成不异的功效而言,Sping作为容器,加上它在事件,ORM和JDBC存取这些范畴中丰厚的功效撑持,Spring切实其实是更好的选择。
不外,必要出格注重的是,利用了Spring并非说我们就不克不及用EJB了,实践上,Spring年夜年夜简化了从中会见和完成EJB组件或只完成(EJB组件)其功效的庞大性。别的,假如经由过程Spring来会见EJB组件服务,今后就能够在当地EJB组件,远程EJB组件,大概是POJO(复杂Java对象)这些变体之间通明地切换服务的完成,而不必要修正客户真个代码。
本章,我们来看看Spring是怎样匡助我们会见和完成EJB组件的。特别是在会见无形态SessionBean(SLSBs)的时分,Spring出格有效,如今我们就由此入手下手会商。
会见EJB
观点
要挪用当地或远程无形态SessionBean上的办法,一般客户真个代码必需举行JNDI查找,失掉(当地或远程的)EJBHome对象,然后挪用该对象的"create"办法,才干失掉实践的(当地或远程的)EJB对象。前后挪用了不止一个EJB组件上的办法。
为了不反复的底层挪用,良多EJB使用利用了服务定位器(ServiceLocator)和营业托付(BussinessDelegate)形式,如许要比在客户端代码中各处举行JNDI查找更好些,不外它们的罕见的完成都有分明的缺点。比方:
一般,如果依附于服务定位器或营业代办署理单件来利用EJB,则很难对代码进行测试。
在仅利用了服务定位器形式而不利用营业托付形式的情形下,使用程序代码仍旧必要挪用EJBHome组件的create办法,仍是要处置由此引进的非常。招致代码仍旧保存了与EJBAPI的耦合性和EJB编程模子的庞大性。
完成营业托付形式一般会招致大批的冗余代码,由于我们不能不编写良多办法,而它们所做的仅仅是挪用EJB组件的同名办法。
Spring接纳的办法是同意创立并利用代办署理对象,通常为在Spring的ApplicationContext或BeanFactory内里举行设置,如许就和营业代办署理相似,只必要大批的代码。我们不再必要别的编写分外的服务定位器或JNDI查找的代码,大概是手写的营业托付对象内里冗余的办法,除非它们能够带来本色性的优点。
会见当地的无形态SessionBean(SLSB)
假定有一个web把持器必要利用当地EJB组件。我们遵守后人的理论履历,因而利用了EJB的营业办法接口(BusinessMethodsInterface)形式,如许,这个EJB组件的当地接口就扩大了非EJB特定的营业办法接口。让我们假定这个营业办法接口叫MyComponent。
publicinterfaceMyComponent{
...
}
<p>
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。 |
|