Java bean配置,bean的实例化和生命周期

一、bean配置

(一)基础配置

 

(二)别名配置: 起的别名和以前的意思一样

(三)bean的作用范围配置

spring默认创建的bean是单例的,默认创建的是一个

如何创建非单例的:配置

为什么bean默认为单例?

对于spring来说他管理的bean要放在容器中,如果不是单例的,bean数量太多,spring管理的对象主要是可以复用的对象,所以还会从容器中拿,这样效率会高,所以默认创建的是单例的。

 

适合交给容器进行管理的bean

        表现层对象:servlet

        业务层对象:service

        数据层对象:dao

        工具对象

不适合交给容器进行管理的bean:封装实体的域对象【有状态的,会记录成员变量属性值的】

二、bean的实例化

1.构造方法

bean本质上就是对象,容器中管理的对象叫bean,创建bean使用构造方法完成,底层用的是反射

spring创建bean的时候调用的是无参的构造函数

无参构造方法如果不存在,将抛出异常BeanCreationException

查看报错信息:从最后一个报错看

 

2.静态工厂

了解就行

 3.实例工厂

这个了解就行

 spring又做了一个升级:(常用)

图中第二个方法就是写对象的类型,把字节码传进去就可以了

 

三、bean的生命周期

也就是bean对象从创建到销毁的过程

bean生命周期控制:

1.配置方法

bean的销毁时机:

close方法比较暴力,

注册关闭钩子的方法关闭:

 2.接口控制

这种方法不用配置init和desroty

去实现接口

 初始化容器:

1.创建对象(内存分配),也就是 new做的事情

2.执行构造方法 构造方法执行完之后整个对象创建完

3.执行属性注入( set操作)   set操作优先于bean的初始化操作

4.执行bean初始化方法

使用bean :执行业务操作

关闭/销毁容器:执行bean销毁方法 在关闭销毁容器前完成的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在容器中,bean的生命周期包括实例化、属性设置、初始化和销毁。在实例化阶段,容器会先解决bean依赖关系,并实例化这个bean。在属性设置阶段,容器会将依赖注入到bean中。在初始化阶段,容器会调用BeanPostProcessor的postProcessBeforeInitialization方法和postProcessAfterInitialization方法来对bean进行额外的处理。最后,在销毁阶段,容器会调用相应的方法来销毁bean。 BeanPostProcessor是bean的后置处理器,它可以在bean的实例化和初始化过程中进行额外的处理。在ApplicationContext中定义了9个BeanPostProcessor,其中8个在bean的实例化过程中起作用,1个在销毁的时候起作用。我们也可以自定义BeanPostProcessor来对bean进行额外的处理。容器启动之后,并不会立即实例化所有的bean定义。容器只是保存了所有bean定义的信息。只有当通过getBean()方法来获取一个bean时,容器才会触发bean的实例化过程。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [bean的生命周期以及实例化过程](https://blog.csdn.net/xxNGchi/article/details/121914142)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值