- 浏览: 186899 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
梦行Monxin商城系统:
最困难的事情就是认识自己
分享我的大型Java多用户商城系统开发的心得和困难 -
梦行Monxin商城系统:
只要坚持下去,总会有意想不到的收获。
java多用户商城系统LegendShop开发指南 -
onecan:
听从了大家的意见,LegendShop已经把Hibernate ...
分享我的大型Java多用户商城系统开发的心得和困难 -
onecan:
最新版本已经不是免费的了
Java多用户商城,给你一个创业的平台 -
www314599782:
架构很不错我要把它写到我的项目里去
分享我的大型Java多用户商城系统开发的心得和困难
请您先登录,才能继续操作
Spring对于EJB的支持<o:p></o:p>
Spring对EJB支持能够粗略的分成两类:访问和实现。Spring中的访问支持类使你能够容易的访问EJB资源。Spring提供了三种抽象类作为EJB bean类的基类,他们是: <o:p></o:p>
l AbstractStatelessSessionBean<o:p></o:p>
l AbstractStatefulSessionBean<o:p></o:p>
l AbstractMessageDrivenBean<o:p></o:p>
当使用Spring来构建EJB的时候,必须提供所有不同的接口和home类,在JCF介绍一节中已经做过介绍。但是,当实现bean类的时候,就需要从合适的Spring基类继承。Spring提供的基类允许EJB组件访问Spring的ApplicationContext,并且,这样允许这些组件访问Spring所管理的资源。这有助于将业务逻辑从EJB实现中分离,写到EJB的Spring管理的POJO对象中。<o:p></o:p>
Spring提供的基类AbstractEnterpriseBean暴露了beanFactoryLocator属性来允许子类访问正在使用的实例BeanFactoryLocator。AbstractStatelessSessionBean类已经实现了ejbCreate(),ejbActivate()和ejbPassivate()方法,而类AbstractStatefulSessionBean并没有实现这些方法。<o:p></o:p>
Spring能够从ApplicationContext中装载所管理的资源,Spring中的EJB基类的主要特征就是能够访问ApplicationContext来装载资源。下面看看在系统的SLSB实例化的时候都做了些什么。<o:p></o:p>
public void setSessionContext(SessionContext ctx) {<o:p></o:p>
super.setSessionContext(ctx);<o:p></o:p>
setBeanFactoryLocator(ContextSingletonBeanFactoryLocator<o:p></o:p>
.getInstance("classpath*:beanRefContext.xml"));<o:p></o:p>
setBeanFactoryLocatorKey("applicationContext-main");<o:p></o:p>
}<o:p></o:p>
|
SLSB在第一次实例化的时候从classpath中加载beanRefContext.xml配置文件,生成一个ContextSingletonBeanFactoryLocator,再指明BeanFactoryLocatorKey为applicationContext-main。如下面所示:<o:p></o:p>
<beans><o:p></o:p>
<bean name="applicationContext-main"<o:p></o:p>
class="org.springframework.context.support.FileSystemXmlApplicationContext"><o:p></o:p>
<constructor-arg><o:p></o:p>
<list><o:p></o:p>
<value>etc/jcf/framework/config/applicationContext.xmlvalue><o:p></o:p>
<value>etc/jcf/framework/config/applicationContext-dao.xmlvalue><o:p></o:p>
<value>etc/jcf/framework/config/applicationContext-command.xmlvalue><o:p></o:p>
<value>etc/jcf/framework/config/applicationContext-jms.xmlvalue><o:p></o:p>
<value>etc/jcf/framework/config/applicationContext-service.xmlvalue><o:p></o:p>
value>etc/jcf/framework/config/applicationContext-processor.xmlvalue><o:p></o:p>
list><o:p></o:p>
constructor-arg><o:p></o:p>
bean><o:p></o:p>
beans><o:p></o:p>
|
beanRefContext.xml<o:p></o:p>
<o:p> </o:p>
在beanRefContext.xml文件中指明了Spring所用到的配置文件在文件系统中的位置。 Spring能够从ApplicationContext中装载所管理的资源的功能不是基类本身提供的,而是被委托给BeanFactoryLocator接口的实现,如下所示:<o:p></o:p>
abstract class AbstractEnterpriseBean implements EnterpriseBean {
protected BeanFactory getBeanFactory() {<o:p></o:p> return this.beanFactoryReference.getFactory();<o:p></o:p>
}<o:p></o:p>
}<o:p></o:p>
|
BeanFactoryLocator 接口<o:p></o:p>
<o:p> </o:p>
BeanFactoryLocator并不直接返回BeanFactory实例;而是返回一个BeanFactoryReference。BeanFactoryReference是一个轻量级BeanFactory或ApplicationContext的包装器,这个包装器允许使用BeanFactory的资源平滑地释放对BeanFactory的引用。缺省情况下,所有EJB基类使用了BeanFactoryLocator的 实现。本质上来说,这个类在一个给定JNDI地点上查找一个逗号分隔的配置文件列表,并且使用这些配置文件来创建ClassPathXmlApplicationContext的实例。三个基本EJB类都通过AbstractEnterpriseBean类表现出属性beanFactoryLocator,通过设置这个属性,就能够提供你自己对于BeanFactoryLocator的不同实现。然而,如果你这样做了,那么,bean的每一个实例都有它自己的ContextJndiBeanFactoryLocator实例,同样,每个ContextJndiBeanFactoryLocator的实例都有它自己的ClassPathXmlApplicationContext实例。<o:p></o:p>
虽然为你的EJB实例创建的所有ApplicationContext实例都用同样的方式配置的,但是,所配置的bean是不一样的。如果你的应用程序服务器创建100EJB个实例,那么,也创建了100个ContextJndiBeanFactoryLocator的实例,以及100个ClassPathXmlApplicationContext。如果应用程序不希望发生这种情况,那么Spring提供SingletonBeanFactoryLocator和ContextSingletonBeanFactoryLocator类来分别装载BeanFactory和ApplicationContext的单件实例。
发表评论
-
dao2
2014-09-24 09:47 0dao1212 -
resume-mr wang
2014-08-05 15:59 0f aaaaaaaaaaaaaaaaaaaaaaaaaaaaa ... -
legendshop dao
2014-04-14 09:20 0legendshop dao -
ControlDataPopulate
2014-01-06 18:35 0package util; import java.io.B ... -
Excel2SqlConvertor
2014-01-06 18:34 0import java.io.File; import jav ... -
test
2013-01-07 23:26 0dfgdfg -
java多用户商城系统LegendShop开发指南
2012-09-08 18:33 16399LegendShop是基于JAVA编程语言开发的开源电子商 ... -
Java多用户商城LegendShop功能说明
2012-09-08 18:13 1808... -
用Spring Cache 实现Hibernate的二级缓存机制
2012-05-14 12:40 4447因为系统中同时采用Hibernate和Jdbc两种技术, ... -
答复: 大型Java多用户商城系统设计开发的心得和困难
2012-01-04 13:35 2180evanzzy 写道非要拿掉Hiber ... -
分享我的大型Java多用户商城系统开发的心得和困难
2012-01-03 15:37 16432看到别的朋友在ITEYE上发表的“开发电子商务网站技术选型“有 ... -
Java多用户商城,给你一个创业的平台
2011-06-05 11:08 8887现在网上开店的趋 势是越来越多了,一个好的商城系统是如虎添翼。 ... -
关于一个java网购平台的技术方案
2010-05-02 23:38 1781最近用Java做了一个网上购物平台,其技术方案终于写完了 ... -
关于产品动态属性的做法
2010-04-14 14:17 2782最近在做一个电子商务网站( http://www ... -
[Java][JavaScript]字符串数组与字符串之间的互转
2010-02-24 15:49 63431、Java 1-1、字符串数组=>字 ... -
Eclipse WTP 入门
2010-02-24 15:43 2218(转)WTP (Web Tools Platform) 是一个 ... -
JPA annotation 参考
2010-02-24 15:35 1296(转)Table Table用来定义entity主表的name ... -
JMS - javax.jms.IllegalStateException in JBOSS问题之解决
2007-07-07 17:38 4352在jms中的代码如下: java 代码 ... -
设计模式之Command
2007-06-24 12:16 1443原作:板桥里人 Command ... -
struts+spring+hibernate通用分页方法 (2)
2007-06-23 12:07 4137接上: 在struts的Action中: java 代码 ...
相关推荐
Spring 集成 EJB(Enterprise JavaBeans)是将轻量级的 Spring 框架与企业级的 EJB 3....通过理解以上知识点,开发者能够有效地在Spring框架中集成和使用EJB,构建出既具有Spring灵活性又具备EJB企业级功能的复杂应用。
ejb(Enterprise JavaBeans)是Java EE平台中的核心组件,主要用于构建可扩展的企业级应用程序。它提供了服务器端的组件模型,包括会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean(Message-...
Spring 和 EJB3 是两种在企业级 Java 应用开发中广泛使用的框架。Spring 框架以其轻量级、模块化和灵活的设计而闻名,而 EJB3(Enterprise JavaBeans 3)则是 Java EE(现在称为Jakarta EE)平台的一部分,提供了...
在IT行业中,Spring、Struts和EJB是三个非常重要的框架,它们分别专注于不同领域的应用开发。Spring是一个全面的后端开发框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)以及大量的企业级服务。...
标题 "spring with ejb3" 暗示了我们即将探讨的是如何在Spring框架中集成和使用EJB 3(Enterprise JavaBeans 3)技术。EJB 3是Java EE平台的一部分,它提供了用于构建企业级应用的服务和组件模型。Spring则是一个轻...
Spring和EJB 3.0都强调轻量级编程模型,允许开发者使用简单的POJO类构建企业级应用,无需额外的框架特定代码。这种简化不仅提高了开发效率,还促进了代码重用,最终提升了软件质量。 Spring框架的依赖注入设计模式...
Struts2、Spring和EJB3是Java Web开发中的三个重要框架,它们分别在MVC模式、依赖注入和企业级服务方面发挥着关键作用。这个压缩包提供的源代码是一个完整的项目示例,展示了如何将这三个框架集成到一个应用程序中。...
在IT行业中,Hibernate、Spring、EJB(Enterprise JavaBeans)和Ajax是四个非常重要的技术,它们各自在软件开发的不同方面发挥着关键作用。下面将分别详细介绍这些技术,并探讨它们之间的协同工作方式。 **...
Struts、Spring和EJB3是Java开发中的三个重要框架,它们在企业级应用程序开发中发挥着关键作用。Struts提供了MVC(Model-View-Controller)架构,Spring强化了依赖注入和面向切面编程,而EJB3则是Java EE平台上的...
在实际项目中,Structs、Spring和EJB常常被结合起来使用,以实现最佳的性能和灵活性。例如,Structs可以作为前端控制器,处理HTTP请求,Spring则负责业务逻辑和数据访问,而EJB可以在需要分布式处理或高可用性的情况...
EJB(Enterprise JavaBeans)是Java EE平台的核心组件之一,用于构建可部署的、分布式的企业级应用程序。EJB 是一种服务器端组件,主要用于实现业务逻辑,提供了一种标准的方式来封装和部署分布式系统中的组件。EJB ...
7. **配置EJB**:在ejb-jar.xml或@Stateless、@Stateful、@MessageDriven等注解中定义EJB组件,设置其属性和接口。 8. **测试与部署**:编写JUnit测试用例,验证各个层次的逻辑是否正确。最后,将项目打包成WAR文件...
此外,Spring还提供了对EJB 3.0的支持,可以将EJB组件纳入其管理范围。 3. **EJB 3.0**:EJB 3.0引入了更简洁的API和注解,使得开发人员能够更容易地创建可部署的企业级组件。实体Bean处理数据持久化,会话Bean提供...
在Java开发领域,EJB(Enterprise JavaBeans)3、Spring框架和Struts框架是常见的企业级应用开发技术,它们结合使用可以构建高效、可扩展的Web应用程序,特别是对于复杂的业务逻辑如银行系统。以下是这三个技术在...
4. **EJB配置**: 提供的XML配置文件中还包含了EJB的基本配置信息,如`<description>`、`<display-name>`以及`<enterprise-beans>`等元素,这些都是EJB部署描述符的一部分,用于描述EJB组件的信息。 ### 总结 综上...
3. 商业逻辑封装:在当前的商业环境中,是否仍需要将业务逻辑封装在强健的组件中,以确保服务的连续性和可靠性? 4. 强健性和可用性:互联网环境是否能够替代组件的强健性和可用性需求? 5. 竞争与替代:是否有更...
Java Jsp EJB Spring 是企业级软件开发中的核心技术,它们在构建高效、可扩展的Web应用程序方面发挥着关键作用。让我们逐一深入探讨这些技术及其相互间的关联。 首先,JavaServer Pages(JSP)是Java平台上的一个...
虽然EJB3.0允许开发者使用POJO作为组件的基础,但在实际应用中,EJB组件往往更加复杂且耦合度较高,这可能会导致组件之间难以解耦。此外,EJB3.0对于测试的支持相对有限,尤其是在模拟对象方面。 **小结:**Spring...
EJB是J2EE的核心组件之一,它定义了一组用于构建可部署的、分布式的、面向对象的服务器端组件的规范。EJB有三种主要类型:会话Bean(Session Beans)、实体Bean(Entity Beans)和消息驱动Bean(Message-Driven ...