您的位置:首页 > 编程语言 > Java开发

对比: Java EE EJB和 Spring Java Bean

2016-03-09 21:20 351 查看
抛开Jave EE EJB的remote功能,就 Java EE EJB local范围而言,从bean管理行为看:

java ee sfsb (状态session bean), slsb(无状态 session bean) 分别可以理解为 spring 中  scope为 session 和 prototype的 java bean,

而java ee singleton EJB则对应spring 中  scope为 singleton的 java bean.

如果一个bean是prototype的,并且这个bean要被注入到其它bean或者你通过getBean这样的方式

获得这个bean的时候,spring容器会创建一个新的实例给你。 

singleton模式指的是对某个对象的完全共享,包括代码空间和数据空间,也就是说,

singleton会让所有线程共享他的成员变量。prototype则不会这样.

此外singleton的生命周期由容器来管理,但是prototype的生命周期得你自己管理。 

最后,有个小trick,singleton的bean引用一个prototype的bean时会出现问题,因为singleton只初始化一次,

而这时候prototype是不会初始化的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: