EJB——会话bean(二)

本文深入探讨了EJB会话bean的实例化过程,重点在于容器如何通过newInstance方法调用bean的构造器,并详细阐述了在bean实例创建后,如何利用依赖注入将资源与其他组件注入到bean中。
摘要由CSDN通过智能技术生成
为什么使用会话bean
1.并发和线程安全
       构造服务器端应用程序的重点在于可以是客户端同时共享,会话bean用于处理客户端请求,他们支持高并发。容器利用很多技术“自动”确保你不必担心并发和线程安全方面的问题。
2.远程处理Web服务
       会话bean支持基于Java远程方法调用的本地访问和基于简单对象访问协议(Simple Object Access Protocol,SOAP)的Web服务器远程访问。
3.事务和安全管理
        会话bean与纯基于配置的事务、授权和验证完全可以支持这些需求。
4.计时器服务和拦截器
        拦截器(interceptor)是AOP的EJB版本。AOP可以将“横切”事项隔离到他们自己的模块中,通过配置跨程序应用。横切事项包括审核和登录等在应用程序内重复出现但与业务逻辑无直接关联的事项。计时器服务时轻量型应用程序调度器的EJB版本。使用计时器服务可以将会话bean转换为循环或非循环的调度任务。
会话bean基础
       每个会话bean实现都具有两个独特部分——一个或多个接口和一个bean实现类。所有会话bean都必须分为两个部分, 因为客户端不能直接访问bean实现类,它们必须通过业务接口使用会话bean。一 个EJB可以具有多个接口,bean支持的每个接口都必须显式地包含在bean实现类的implements字句之中。会话bean实现类永远都不能是抽象的, 也就是说业务接口委托的所有方法都必须在类中实现。EJB实现类可以拥有通过任何接口都不能访问的非私有方法,这样的方法可以用于创建智能单元测试框架和实现生命周期回调。此外,EJB bean类可以利用 面向对象的继承, 可以利用这种策略支持应用程序的定制框架。例如,你可以把常用的逻辑放在 POJO父类中, 组bean可以继承它。bean类中必须具有无自变量构造器。因为当客户端调用bean时, 容器会调用此构造器创建bean实例。注意, 如果Java类中没有构造器, 编译器会插入默认的无自变量构造器。会话bean类可以是另一个会话bean或任何其他POJO的子类。可以在bean类或者超类中定义业务方法和生命周期回调方法。但是,EJB 3会话bean支持的注解继承有若干限制。例如, 当你部署BidManagerBean时,PlaceBidBean 超类中指定的bean类型注解@Stateless或@Stateful会被忽略。 但是,超类中用于定义生命周期回调方法和资源注入的所布注解都会被bean类继承。所有业务方法都定义为公有的,不能是最终的或静态的。如果你暴露EJB远程业务接口中的方法,那么要确保方法的自变量和返回类型会实现java.io.Serializable接口。
bean生命周期回调
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值