04.Spring-bean标签的基本配置

本文详细介绍了Spring框架中bean标签的基础配置,包括id和class属性,以及对象作用范围(scope)的设置。此外,深入解析了bean的生命周期管理和实例化方法,如无参构造、工厂方法。通过实例演示了如何利用静态工厂和普通工厂方法来创建bean实例。

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

04.Spring-bean标签的基本配置

1.bean标签的基本配置

<bean id="" class=""></bean>
* 用于配置对象交由Spring来创建。
* 基本属性:
id:Bean实例在Spring容器中的唯一标识
class:Bean的全限定名
* 默认情况下它调用的是类中的无参构造函数,如果没有无参构造函数则不能创建成功。

2.bean标签范围配置

<bean id="" class="" scope=""></bean>
  • scope属性指对象的作用范围,取值如下:

image-20220301201757498

image-20220301201845967

3.bean生命周期配置

<bean id="" class="" scope="" init-method="" destroy-method=""></bean>
* init-method:指定类中的初始化方法名称
* destroy-method:指定类中销毁方法名称

4.bean实例化的三种方式

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

4.1无参构造方式实例化

它会根据无参构造方法来创建方法来创建类对象,如果bean中没有无参默认的无参构造函数,将会创建失败。

<bean id="userDao" class="com.lagou.dao.impl.UserDaoImpl"/>

4.2工厂静态方法实例化

应用场景:

依赖的jar包中有个A类,A类中有个静态方法m1,m1方法的返回值是一个B对象。如果我们频繁使用B对象,此时我们可以将B对象的创建权交给spring的IOC容器,以后我们在使用B对象时,无需调用A类中的m1方法,直接从IOC容器获得。

public class StaticFactoryBean {
 
  public static UserDao createUserDao(){  
     return new UserDaoImpl();
     }
}
<bean id="userDao" class="com.lagou.factory.StaticFactoryBean" factory-method="createUserDao"/>

4.3工厂普通方法实例化

应用场景

依赖的jar包中有个A类,A类中有个普通方法m1,m1方法的返回值是一个B对象。如果我们频繁使用B对象。
此时我们可以将B对象的创建权交给spring的IOC容器,以后我们在使用B对象时,无需调用A类中的m1方法,直接从IOC容器获得。

public class DynamicFactoryBean { 
    public UserDao createUserDao(){    
    	return new UserDaoImpl();
    }
}
<bean id="dynamicFactoryBean" class="com.lagou.factory.DynamicFactoryBean"/>
<bean id="userDao" factory-bean="dynamicFactoryBean" factory-method="createUserDao"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿红

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值