Spring的核心机制——依赖注入(IOC)

Spring框架的核心功能有两个:
1.Spring容器作为超级大工厂,负责创建、管理所有的java对象,这些java对象被称为Bean。
2.Spring容器管理容器中的Bean之间的依赖关系,Spring使用一种依赖注入的方式来管理Bean之间的依赖关系。
依赖注入的效果:类似于“共产主义”,当某个java实例需要其他的java实例的时候,系统会自动提供所需的实例,无需程序显示获取。
依赖注入:IOC(控制反转)也可以叫依赖注入。
控制反转:(IOC)使用spring之后,调用者无需主动获取被依赖的对象,调用者只需要被动的接受spring容器为调用者的成员变量赋值即可(只需要配置一个<property…/>子元素,spring就会执行对应的setter方法为调用者的成员变量赋值)由此可见,使用spring框架后调用者获取被依赖对象的方式由原来的的主动获取,变成了被动接受。
依赖注入通常有如下两种:
1.设值注入:IOC容器使用成员变量的setter方法来注入被依赖的对象。
2.构造注入:IOC容器使用构造器来注入依赖对象。
ApplicationContext:他是BeanFactory的子接口再子接口(单例对象)
特点是:创建BeanFactory对象时,采用的是立即加载策略。(当读取完xml配置文件,配置文件中所有的bean对象都已经创建完成)
BeanFactory:他是springIOC的顶层接口(多例对象)
特点是:创建bean对象的时候采用延迟加载策略(当真正从容器中获取bean对象的时候,才会创建)
3.复杂注入:针对集合的(数组,list,map,set)
bean对象的三种创建方式:
第一种:通过构造函数创建bean对象。在默认情况下当我们在spring的配置文件中写了一个bean标签,并提供了class属性spring就会默认构造函数创建对象。如果没有构造函数,则对象创建失败。
第二种:通过静态工厂创建对象。
第三种:通过实例对象创建bean对象。
bean对象的作用范围:
singleton:单例的默认的比较常用
prototype:多例的
request:请求范围内
session:一个会话范围内。
global-session:全局会话范围。
bean对象的生命周期:
单例对象的生命周期:
出生:容器创建,对象出生
活着:只要容器存在,对象就一直可以用。
死亡:容器销毁,对象就销毁
多例对象的生命周期
SpringIOC容器的三个基本要点:
1.应用程序的各组件面向接口编程。面向接口编程可以将组建之间的耦合关系替身到接口层次,从而有利于项目后期的扩展。
2.应用程序的各组件不在由程序主动去创建,而是由spring容器来负责产生并初始化。
3.Spring采用配置文件或者注解来管理bean的实现类、依赖关系,Spring容器则根据配置文件或者注解,利用反射来创建实例,并为之注入依赖关系。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值