day01_Spring—IoC和DI

本文详细介绍了Spring程序开发的步骤,包括编写DAO、配置Bean、导入坐标以及创建XML配置文件。深入讲解了Bean的作用域、生命周期及三种实例化方式,并重点阐述了依赖注入的概念,通过set方法和构造方法实现。此外,还探讨了Spring的ApplicationContext API及其getBean()方法的使用。

一、Spring程序开发的步骤

1.理论分析

1.原来的做法
在这里插入图片描述
2.现在的做法
在这里插入图片描述
由上图可知我们一共要完成以下四步:
①编写 UserDao 和 UserDaoImpl
②使用 Spring 的 API 获得 Bean 实例
③在pom.xml中导入 Spring 框架的基本包坐标
④创建ApplicationContext.xml,在xml配置文件中配置 UserDaoImpl

2.代码实现

在这里插入图片描述

二、Spring配置文件

1.scope

scope:指对象的作用范围,取值如下:

1)当scope的取值为singleton时

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

2)当scope的取值为prototype时

​ Bean的实例化个数:多个
​ Bean的实例化时机:当调用getBean()方法时实例化Bean
Bean的生命周期:
对象创建:当使用对象时(getBean时),创建新的对象实例
对象运行:只要对象在使用中,就一直活着
对象销毁:当对象长时间不用时,被 Java 的垃圾回收器回收了

不同参数对实例化个数的影响
当scope的取值为singleton时,Bean的实例化个数为1个;当scope的取值为prototype时,Bean的实例化个数为多个

在这里插入图片描述

在这里插入图片描述
不同参数对Bean创建时期的影响
在这里插入图片描述
在这里插入图片描述

2.Bean生命周期

在这里插入图片描述

3.Bean实例化的三种方式

  • 无参构造方法实例化
  • 工厂静态方法实例化(了解)
  • 工厂实例方法实例化(了解)

无参构造的方法
上面演示的全部都是无参构造的方法(值得注意的是:如果bean中没有默认无参构造函数,将会创建失败)
在这里插入图片描述
工厂静态方法实例化(了解)
在这里插入图片描述
工厂实例方法实例化(了解)
在这里插入图片描述

4.依赖注入

依赖注入本来也属于spring配置文件的一部分,但因为内容太大所以单独成立

三、依赖注入

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

1.set方法解决依赖注入

在这里插入图片描述
set注入更简便的写法(了解,不常用)
在这里插入图片描述

在这里插入图片描述

2.构造方法解决依赖注入

在这里插入图片描述

3.Bean的依赖注入的数据类型

在这里插入图片描述
普通数据类型的注入
在这里插入图片描述
集合列表类型的注入
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4.import

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

四、Spring相应的API

1.ApplicationContext的实现类

在这里插入图片描述

2.两种getBean()方法

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

感谢浏览和收藏

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

BlackTurn

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

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

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

打赏作者

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

抵扣说明:

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

余额充值