Spring-5 bean的作用范围---单例和原型

本文详细解释了在Spring框架中如何通过配置Bean的作用域来控制Bean的实例化过程。默认情况下,Bean的作用域为singleton,这意味着在整个应用上下文中只会存在一个Bean实例。然而,当将Bean的作用域设置为prototype时,则每次请求都将创建一个新的Bean实例。

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

当配置好一个bean以后,如:

<bean id="Person" class="com.csu.autowire.Person"   
        p:name="LiuQiao" autowire="byName" scope="prototype">
    </bean>

我们首先获取一个Person命名为p1,紧接着再次获取一个Person命名为p2,那么p1和p2是同一个吗?

Person person=(Person) context.getBean("Person");
        Person person2=(Person) context.getBean("Person");
        //System.err.println(person);
        if (person==person2) {
            System.out.println("singleton");
        }
        else {
            System.out.println("prototype");
        }

默认情况下,是同一个。
配置bean时,有一项为scope,该项默认值为singleton(单例),也就是说无论怎么取,在IOC生命周期内,取到的都是同一个。
当scope设置为”prototype”时,这时每次都会新做一个返回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值