Java教程

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

本文主要是介绍Spring学习_2:Spring配置文件详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录

    • Bean标签的基本配置
      • Bean标签范围配置
        • 总结
    • Bean的生命周期配置
    • Bean实例化的三种方式
      • 工厂静态方法实例化:
      • 工厂实例方法实例化:

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中的方法。
请添加图片描述

这篇关于Spring学习_2:Spring配置文件详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!