Spring框架是一个开放源代码J2EE应用程序框架是管理bean生命周期的轻量级容器(lightweight container)。本文我们从Spring框架特性从深入分析开始Spring框架。
用一句话来形容Spring就是,轻量级控制反转(IoC)和面向切面(AOP)容器框架。
事实上,我们几乎可以从这句话中找到Spring框架特性全部精髓。
1.轻量
从规模和费用来看Spring都很轻。一个完整的Spring框架可以在一个只有1MB以上的JAR文件中发布。而且Spring所需的处理费用微不足道。此外,Spring是非侵入性的:典型地说,Spring应用程序中的对象不依赖于Spring的特定类别。
2.控制反转
Spring通过一个名称控制反转(IoC)该技术促进了松耦合。当应用物联网时,对象所依赖的其他对象将被动地传递,而不是对象自己创建或搜索所依赖的对象。你可以认为IOC与JNDI相反——不是对象从容器中寻找依赖,而是容器在对象初始化时主动将依赖传递给对象的要求。
3.面向切面
Spring通过分离应用程序的业务逻辑和系统级服务(如审计),为切面编程提供了丰富的支持(auditing)和事务(transaction)管理)内聚性开发。应用对象只实现他们应该做的——完成业务逻辑——仅此而已。它们对日志或事务支持等其他系统级的关注点不负责任。
4.容器
Spring包含和管理应用对象的配置和生命周期。从这个意义上说,它是一个容器,你可以配置你的每个bean是如何创建的——基于可配置原型(prototype),你的bean可以在每次需要时创建一个单独的例子或生成一个新的例子——以及它们是如何相互关联的。然而,Spring不应与传统的重量级EJB容器混合,它们往往又大又笨重,难以使用。
5.框架
Spring可以将简单的组件配置和组合成复杂的应用程序。在Spring中,应用程序对象被声明地组合在XML文件中。Spring还提供了许多基本功能(事务管理、持久框架集成等),为您留下应用逻辑的开发。
所有Spring框架特性使您能够编写更干净、更管理、更容易测试的代码。它们也是Spring中的各种模块提供了基本的支持。当然,Spring作为一个开源容器框架,越来越多的技术神加入了其源代码的改进。我们也相信Spring的功能越来越完善和强大!