0
点赞
收藏
分享

微信扫一扫

Spring学习_2:Spring配置文件详解

eelq 2022-01-09 阅读 85

目录

Bean标签的基本配置

请添加图片描述
id:唯一性标识,不允许重复
class:Bean的全限定名称

Bean标签范围配置

scope:指对象的作用范围,取值如下
请添加图片描述

prototype:每次通过getBean获取对象都是新的对象

当scope为singleton或者默认时,通过getBean得到的两个对象地址是相同的,而为prototype时地址不一样,说明创建了两个不同的对象。
在这里插入图片描述

总结

请添加图片描述

Bean的生命周期配置

  • init-method:指定类中的初始化方法名称
  • destroy-method:指定类中销毁方法名称

在bean标签中通过以上方法绑定相应的方法名,来执行初始化和销毁时的方法(这两个方法在UserDaoImpl中创建)
在这里插入图片描述在这里插入图片描述

Bean实例化的三种方式

  • 无参构造方法实例化
  • 工厂静态方法实例化
  • 工厂实例方法实例化

工厂静态方法实例化:

在com.itheima下创建一个factory包,里面创建一个含有静态方法getUserDao的StaticFactory类,返回一个UserDaoImpl对象
在这里插入图片描述
然后在bean中更改class为StaticFactory的位置,并且添加 factory-method=“getUserDao” 来确定具体的方法。

工厂实例方法实例化:

在com.itheima下创建一个factory包,里面创建一个DynamicFactory类
请添加图片描述
但因为这的方法不是静态方法,如果需要调用则必须先获取对象
所以不能像工厂静态方法实例化时那样直接更改bean,应该新建一个id为factory的bean,class为DynamicFactory的全限定名,让spring容器通过无参构造创建工厂对象,再通过另一个获取userDao的bean来使用上一个bean中的方法。
请添加图片描述

举报

相关推荐

0 条评论