Spring核心容器创建对象时三种方法时,Bean标签属性所代表的意义

本文详细介绍了Spring框架中Bean的三种创建方式:构造函数、静态工厂和实例工厂方法。每种方式都包括了如何定义Bean的唯一标识、作用域、初始化和销毁方法,以及具体的XML配置示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.使用构造函数的方法时创建对象的(用来管理一些直接可以new出来的对象)

 id:创建对象的唯一标识
 class:要创建对象的全限定名
 scope:标识要创建对象的范围 单例(只创建一次 每次都是调用的这个创建的)还是多例(可以创建多次 每次都不是同一个对象 地址值不一样)
	 singleton表示单例(默认) 创建核心容器的时候创建  
	 prototype表示多例  每次调用的时候创建
 init-method:表示绑定的方法是对象创建的生命周期方法(也即是当对象被创建的时候就运行调用此方法) 通常用来读取一些配置文件
 destroy=method:表示绑定的方法是对象销毁的生命周期方法(也即是当对象被销毁的时候就运行调用此方法)通常在里面用来关闭一些资源
 ***注意:核心容器中单例对象:随着核心容器创建而创建,销毁而销毁***
      <bean id="userService" scope="singleton"  class="com.ls.service.UserService"></bean>  
      (相当于此处调用通过class的全限定名发射获取对象,然后底层把对象管理起来,然后用id标记起来)

2.静态工厂方式创建对象(用来管理一些使用工具类创建的对象) 此处工厂方法是静态的

  id:创建的对象的唯一标识
  class:表示静态工厂(工具类)的全限定名
  factory-method:表示静态工厂中创建对象的那个方法
 (相当于先通过class的全限定名反射获取的工具类对象,然后通过对象调用该类中的的factory-method方法获取创建的对象,底层把对象管理起来,然后用id标记起来)
  <bean id="userService" class="com.ls.Factory.BeanFactory" factory-method="getUserService"></bean>

3.实例工厂创建对象 (用来管理一些使用实例工厂创建的对象) 此处工厂方法是非静态的 不能直接调用方法
就需要先使用构造方法获取此实例工厂对象 然后通过工厂对象调用方法 需要1和2混着使用

  1.使用bean标签获取实例工厂对象 交给核心容器管理
                id:实例工厂对象的唯一标识(第二部需要使用此id)
                class:实例工厂的全限定名
  2.调用实例工厂对象的方法
                id:创建对象的唯一标识
                factory-bean:表示要调用的实例工厂对象id (要调用那个工厂对象的方法,就填写那个工厂对象的id)
                factory-method:表示实例工厂中创建对象的那个方法
                
      联合使用(先使用构造方法获取此实例工厂对象  然后通过工厂对象调用方法)          
    <bean id="beanFactory" class="com.ls.Factory.BeanFactory"></bean>
    <bean id="userService" factory-bean="beanFactory" factory-method="getUserService"></bean>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值