【Spring-IOC】bean的属性

本文详细介绍了Spring-IOC中Bean的属性,特别是Scope属性,包括其单例(singleton)和原型(prototype)的区别。Singleton在容器启动时实例化,效率较高但线程不安全;Prototype在每次获取时创建新实例,适合多线程环境。其他属性如lazy-init、init-method、destroy-method和autowire也进行了简要说明。
摘要由CSDN通过智能技术生成

【Spring-IOC】bean的属性

scope作用域
id、name定义bean的唯一标识
classbean的全类名
factory-bean工厂对象
factory-method工厂方法
lazy-init懒加载
depends-on依赖某个实例(在生命周期用到)
init-methidBean初始化执行的方法
destory-methobean销毁时执行的方法
autowire自动装配(依赖注入)

7.1 Scope属性

bean的作用域

7.1.1 属性值说明
Scpoe描述
singleton单例模式创建bean,默认的scope就是单例模式
prototype原型,指定单个bean的实例对象数量为任意多个
requestweb环境下,每一次独立请求都存在唯一实例,存在单个HTTP请求中,bean 的作用域限于 HTTP请求范围
sessionweb环境下,每一次会话都存在唯一的实例,存在单个的会话中,bean的作用域限于单次的会话范围
applicationweb环境下,这里的作用域时在servletContext上下文中的唯一的实例
websocketweb环境下,将单个bean的作用域限定为websocket的生命周期
7.1.2 singleton和prototype的区别
  • singleton的实例对象数量时唯一的,而prototype的实例对象是多个的
  • singleton在容器初始化时就会实例化一个对象放在容器中,而prototype是在使用getBean方法是才会去创建这个bean的实例,每一次的实例都不一样。
  • 效率的不同,singleton的效率会高一些,因为只会实例一次
  • 线程的安全问题,prototype的线程会安全一些
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值