Spring学习笔记 (1)--- IoC

看spring也有些日子了,总想总结一下看过的东西, 这几天又把前面一些东西看了一遍,这次好好总结一下了。

Spring  的核心是 Ioc容器,所有的模块都是基于这个容器来实现的。这也是spring架构图中的核心,它为Spring提供的其它的 AOP DAO ORM  Web MVC  Context 模块 得于实现的基础。 Spring IOC 主要提供setter getter模式和construct 来实现依赖注入。

IoC : 控制反转,又称为依赖注入。 主要是目的是高层的模块不依赖低层的实现模块,从而实现高层模块的重用。实现IoC有两种方式:Dependency Injection and Service Locator.   Spring use the Dependency Injection  implement the IoC. Dependency Injection means : "remain the abstract interface, the Component implement the interface,when the Component  should use the concrete object ,you can use the interface to injection the increte class."   实现依赖注入有三种方式,spring提供了setter getter模式和construct方式,并且推荐使用setter 模式。    

       IoC的核心就是通过使用接口来降低对象之间的耦合度,使组件能够得到重用。  Spring IoC容器通过BeanFactory和ApplicationContext这两个接口来实现将具体的组件和应用程序隔离。应用程序只要通过BeanFactory 和ApplicationContext 可以使用具体的组件。BeanFactory  实际上是一个抽象工厂方法,ApplicationContext 是它的一个子接口,它们的主要作用是通过读配置文件来实例化,配置以及管理Bean。

Bean的生命周期: 1. 定义JavaBean   2. 初始化JavaBean 3.使用JavaBean   4. 销毁JavaBean。

分得更细一点有以下几个执行阶段:1.Bean 建立 .  由BeanFactory读取Bean定义文件,生成各个Bean的实例。   2.  属性注入: 执行相关的Bean 属性依赖注入。 3. BeanNameAware 的 setBeanName()  存在时才执行。 4. BeanFactory 的setBeanFactory()    5. BeanPostProcessors 的  processBeforeInitialization()     6. initializingBean  的afterPropertiesSet()       7. Bean定义文件中的定义init-method    8. BeanPostProcessors 的processAfterInitialization()    8. DisposableBean 的destroy    9. Bean 定义文件中的 destory-method。 

BeanPostProcessor用于在bean的依赖关系建立后对Bean进行修正操作来修改相关属性。

BeanFactoryPostProcessor 用于在加载Bean定义文件但是还没产生Bean实例前,针对该BeanFactory进行一些处理。

用户可以对ApplicationContext的事件进行监听,以做一些处理。

BeanFactory 通常只用于内存受限的场合,在大部分场合应该用ApplicationContext。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值