spring中bean的作用域

SSM

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。
是标准的MVC模式,将整个系统划分为表现层,controller层,service层,DAO层四层。目前比较主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。

bean

在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。
把Bean理解为类的代理或代言人(实际上确实是通过反射、代理来实现的)。
Spring Bean是被实例的,组装的及被Spring 容器管理的Java对象。 Spring 容器会自动完成@bean对象的实例化。

bean的scope 属性

bean scope 属性用于决定对象何时被创建与作用范围。 bean scope 配置将影响容器内对象的数量。
scope属性是用来声明bean的作用域的。如果在spring配置文件内未指定scope属性,默认为singleton。
scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间.
在配置bean的时候,如果不指定scope属性的话,spring默认采用singleton,也就是单例模式创建实例的。这样不管请求多少次id,都只会创建一个实例而已。
prototype:ioc容器创建不会创建bean实例,每次调用getBean方法实例化一个bean。
在web环境下:
request:每次发请求实例化一个bean
session:在一次会话里共享一个bean

IOC容器

创建组件的工作不再由程序员控制,而是由IOC容器控制,程序员只负责告诉IOC容器如何创建某个组件.
Spring的核心就是提供了一个IoC容器,它可以管理所有轻量级的JavaBean组件.
我们通过IOC容器实现了控制反转.
IOC容器就是具有依赖注入功能的容器,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。
默认情况下,Spring值为每个在IOC容器里声明的bean创建唯一一个实例,整个Ioc容器范围内都能共享该实例:所有后续的getBean()调用和bean引用都将返回这个唯一的bean。

ClassPathXmlApplicationContext

获得Spring中定义的Bean实例(对象).
ApplicationContext ac = new ClassPathXmlApplicationContext(“beans.xml”);

==和equals

==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
==比较的是2个对象的地址,而equals 比较的是2个对象的内容,显然,当equals为true时,==不一定为true。
==是判断两个变量或实例是不是指向同一个内存空间
equals是判断两个变量或实例所指向的内存空间的值是不是相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值