Spring Ioc例子及配置文件小总结

Spring IOC例子实现步骤:

  1. 导入Spring Ioc的依赖包
  2. 创建Dao接口及接口实现类
  3. 创建Spring核心配置文件(application.xml文件),并配置<bean>标签
  4. 创建demo类,获取application.xml的上下文对象,并由该对象获取一个 bean 实例
  5. 由 bean 对象调用方法

配图:

在这里插入图片描述

配置文件中的<bean>标签解释:

在这里插入图片描述
id就是这个bean的“名字”,保证全局唯一即可,尽可能的见名知意

class是全限定包名,也就是要用到的接口实现类的全包名,这里之所以这么做是因为,根据全包名然后通过反射可以获得bean实例,但是要保证接口实现类里面有无参构造方法,因为反射也是通过无参构造方法实现的。

Bean标签范围配置

在这里插入图片描述
我们在配置Bean标签时,也可以配置其取值范围,或者叫做“存在范围”

如果没写 scope 范围,那便是默认的 singleton

下面用代码演示一下:

ps:在test包下测试,提前在pom.xml里面加入 Junit 依赖

首先看一下 scope是默认的情况
在这里插入图片描述

在这里插入图片描述
结果一猜就知道,地址值是一样的


接下来再看一下 scope 是prototype的情况

在这里插入图片描述
在这里插入图片描述

地址值不一样,那也证明了 prototype 是多例的,即每次都创建一个不同的对象实例

Bean的实例化个数、时机及生命周期

代码演示:

首先演示单例模式
在这里插入图片描述

在接口实现类中重写无参构造方法,以便展示效果
在这里插入图片描述

我们可以清楚的看到,debug模式下,当加载完配置文件时无参构造方法就已经被调用了,也即 已经实例化Bean对象了
在这里插入图片描述

直到debug走完,打印相同的地址值,如下图

在这里插入图片描述
总结:

当scope的取值范围为singleton时

  • Bean的实例化个数:1个
  • Bean的实例化时机:当Spring核心配置文件被加载时,实例化配置的Bean实例
  • Bean的生命周期:
    1.对象创建:当应用加载,创建容器时,对象就被创建了
    2.对象运行:只要容器在,对象一直存活
    3.对象销毁:当应用卸载,销毁容器时,对象就被销毁了

其次演示多例模式

在这里插入图片描述
当debug加载完配置文件时,
在这里插入图片描述
当debug执行完一个 getBean() 时,
在这里插入图片描述
当debug执行完第二个 getBean() 时,
在这里插入图片描述
当debug走完全部代码,
在这里插入图片描述

总结:
当 scope 的取值范围为prototype时

  • Bean的实例化个数:多个
  • Bean的实例化时机:当调用getBean()方法时实例化Bean
  • Bean的生命周期:
    1.对象创建:当使用对象时,创建新的对象实例
    2.对象运行:只要对象在使用,就一直活着
    3.对象销毁:当对象长时间不使用时,被Java的垃圾回收器回收了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值