Spring 杂谈
Spring 的依赖注入机制,可以在运行期为组件配置所需资源,而无需在编写组件代码时就加以指定,从而在相当程度上降低了组件之间的耦合。
Spring 通过依赖注入模式,将依赖关系从编码中脱离出来,从而大降低了组件这间的耦合,实现了组件真正意义上的即插即用。这也是Spring最具价值的特性这一。
面向接中编程。
诚然,即使没有Spring,实现面向接中的设计也不呆难。Spring对于面向接口设计的意义,在于它为面向接口编程提供了一个更加自然的平台。基于Spring开发,来自于Spring所提供的简单舒适的依赖注入实现。Spring使得接口的定义和使用不在像传统编码过程中那么繁琐。(传统编码过程中,引入一接口,往往也意味着同时要引入一个Factory类,也许还有一个额外的配置文件及其读写代码)
Spring 一个从实际项目开发经验中抽取的,可高度重用的应用框架.
IoC ,用白话来讲,就是由容器控制程序之间的关系,而非传达室统实现中,由程序代码直接操控。 这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外间容器,控制权的转移,是所谓反转。
所谓依赖注入,即组件这间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某各依赖关系注入到组件这中。
依赖注入的目标并非为软件系统带来更多的功能,而是为了提升组件重用的概率,并为系统搭建一个灵活,可扩展的平台。
依赖注入机制减轻了组件之间的依赖关系,现时也大大提高了组件的可移植性,这意味着,组件得到重用的机会将会更多.
Spring 更大意义上充当了粘合剂和润滑剂的角色
Spring 的两个主要目标:一是让现有技术更易于使用,二是促使良好的编程习惯(或者称为最佳实践)
依赖:两个元素中一个定义发生改变则会引起另一个元素发生变化,则称这两个元素之间存在依赖关系.
系统变得复杂是因为系统的各部分关联程度太高,即各模块间“依赖”程度太高。
读到.xml文件:ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
//获得Printer实例
Printer printer=(Printer)context.getBean("printer");
通过Spring的强大组装能力,我们在开发每个程序组建的时候,只要明确关联组件的接口定义,不需要关心具体实现,这也就是所谓的“面向接口编程”