`
empireghost
  • 浏览: 50946 次
  • 来自: ...
社区版块
存档分类
最新评论

试读【Spring 3.x企业实用开发实战】 的收获和心得

阅读更多


   IoC (控制反转:Inverse of Control)是 Spring 容器的内核,AOP 、声明式事务等功能在此基础上开花结果。但是 IoC 这个重要的概念却比较晦涩隐讳,不容易让人望文生义,

这不能不说是一大遗憾。不过 IoC 确实包括很多内涵,它涉及代码解耦、设计模式、代码

优化等问题。 




    IoC 确实不够开门见山,因此业界曾进行了广泛的讨论,最终软件界的泰斗级人物Martin Fowler 提出了DI(依赖注入:Dependency Injection )的概念用以代替IoC ,即让调用类对某一接口实现类的依赖关系由第三方(容器或协作类)注入,以移除调用类对某一接口实现类的依赖。“依赖注入”这个名词显然比“控制反转”直接明了、易于理解。




   IoC从注入方法上看,主要可以划分为三种类型:构造函数注入、属性注入和接口注入。

Spring 支持构造函数注入和属性注入。



 

Spring 通过一个配置文件描述 Bean及Bean之间的依赖关系,利用Java 语言的反射功能实例化 Bean并建立 Bean之间的依赖关系。Spring 的IoC 容器在完成这些底层工作的基础上,还提供了 Bean实例缓存、生命周期管理、Bean实例代理、事件发布、资源装载等

高级服务。 

 

Bean工厂(com.springframework.beans.factory.BeanFactory )是 Spring 框架最核心的接口,它提供了高级 IoC 的配置机制。BeanFactory使管理不同类型的 Java 对象成为可能,应用上下文(com.springframework.context.ApplicationContext)建立在 BeanFactory基础之上,提供了更多面向应用的功能,它提供了国际化支持和框架事件体系,更易于创建实际应用。我们一般称 BeanFactory为IoC 容器,而称ApplicationContext 为应用上下文。但有时为了行文方便,我们也将 ApplicationContext 称为 Spring 容器。 对于两者的用途,我们可以进行简单划分:BeanFactory是Spring 框架的基础设施,面向Spring 本身;ApplicationContext 面向使用 Spring 框架的开发者,几乎所有的应用场合我们都直接使用 ApplicationContext而非底层的 BeanFactory。 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics