SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第三篇)Spring

SSM 框架(Spring + SpringMVC + Maven + Springboot + MybatisPlus 从入门到精通 ):(第三篇)Spring

Spring

bean

scope属性

接着上一期,我们知道了,bean对对象的管理是采用单例模式的,我们如何修改它的模式呢?这里引入一个 bean 标签的属性 scope

scope:(作用域) prototype 、singleten

当 scope = ”singleten “ 是单例模式,反之亦然

Demo(只需要对 Spring 配置文件做修改)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!--   1.引入spring坐标-->
<!--   2.新建spring配置文件-->
<!--   3.配置beaen -->

    <bean id="bookDao1" class="org.example.model.impl.BookDaoimpl" ></bean>

        <bean id="bookService" class="org.example.service.impl.BookServiceimpl" name="service" scope="prototype">
        <!--            添加scope = ”prototype“-->
            <property name="bookDao" ref="bookDao1"></property>
        </bean>
</beans>

然后我们再次运行上次的项目:
result:

在这里插入图片描述
这时候发现我们两个对象的地址不一样了,那就对了

bean的实例化方式:
方式一(无参构造函数):

测试方法,我们为我们需要在 bean 的方式下实例化的对象添加有参构造函数,这样我们的无参数构造函数就会失效,这样如果我们的 bean 是使用的无参数构造函数,我们的 demo 就会报错。

为 BookDaoimpl 添加上有参数构造函数:

package org.example.model.impl;

import org.example.model.BookDao;

public class BookDaoimpl implements BookDao {
    public BookDaoimpl(int i) {
    }

    @Override
    public void save() {
        System.out.println("bookdao save");
    }
}

result:
在这里插入图片描述
我们可以确定,spring第一种方式就是使用对象自带的无参数构造函数帮我们实例化bean对象

由于篇幅有限,下一篇继续。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

我不会画饼鸭

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

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

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

打赏作者

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

抵扣说明:

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

余额充值