关于Spring Bean容器的理解

Spring Bean 对象

Spring Bean 是Spring框架中的一个核心概念。在Spring框架中,Bean是指那些组成应用程序的对象,它们由Spring IoC容器实例化、组装和管理。Bean是一个被实例化、组装和由Spring IoC容器所管理的对象。

Spring Bean 容器

Spring Bean容器是Spring框架的核心部分,负责管理应用程序中的Bean。它是一个强大的工厂(或容器),负责初始化、配置和组装Bean。容器通过读取配置元数据(例如XML、注解或Java配置)来了解应用中的对象及其相互依赖关系。

spring对于bean实例化的管理
  • 默认情况下调用类的无参构造方法进行
  • 通过普通工厂进行对象的实例化
  • 通过静态工厂进行对象的实例化
spring对于bean的作用域

含义:bean在spring容器中创建的策略以及访问的范围(Spring定义了多种作用域(如单例、原型等),决定了Bean的生命周期和可见性)

编写位置:bean标签属性位置

编写语法:scope=""

属性值

singleton========>单例模式====全局唯一====性能好====安全性低(默认方式)


prototype========>多例模式====全局不唯一====性能不好====安全性高

spring对于bean的生命周期管理

实例化=====>容器创建的时候实例化


初始化=====>实例化完成,则自动初始化   nitializingBean类中的afterPropertiesSet  init-method属性绑定方法


使用操作


销毁======>容器关闭,所以的bean则自动销毁,销毁前会执行destroy-method=""方法,完成资源回收

spring管理bean的自动装配

手动注入:

<property name="service" ref="serviceImp"></property>

<constructor-arg></constructor-arg>

含义:将对象用DI的编程思想,自动注入给调用者

编写位置:bean与beans标签的属性

编写语法

autowire=" " ============> 局部设置


default-autowire=" " ====> 全局设置

编写属性

byType==========>按照类型自动装配 属性类型与bean的class一致(通过set注入实现)


byName==========>按照id属性自动装配 属性名称与bean的id一致(通过set注入实现)


constructor==========>按照类型自动装配 属性类型与bean的class一致(通过构造方法注入实现)


no==========>默认设置,无自动装配

编写注意

  1. 按照类型装配,避免容器中有相同类型
  2. 按照名字装配,要保证需要的对象名在spring容器中有对应的id
  3. 可以同时进行全局与局部设置,就近原则
  4. 自动装配能简化代码配置,但是在大型项目中不推荐使用,可读性差

  • 29
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值