Spring的核心是个轻量级(Lightweight)的容器(Container),
它是实现IoC(Inversion of Control)容器,
非侵入性(No intrusive)的框架,
并提供AOP(Aspect-oriented programming)概念的实现方式,
提供对持久层(Persistence),
事务(Transaction)的支持,
提供MVC Web框架的实现,
并对一写常用的企业服务API(Application Interface)提供一致的模型封装,
是一个全方位的应用程序框架(Application framework),
除此之外,对于现存的各种框架(Struts,JSF,Hibernate等)都提供了与他们相整合的方案。
相关术语:
Spring的核心包在文件容量上只不到1MB大小,而使用Spring核心包所需要的资源负担也是很小的。
框架原来的意思是提供一个架构的实现,让开发人员可以在基于架构的基础上,快速地开发遵循架构所需的应
用程序,然而有些框架一旦被使用,应用程序就与框架发生了依赖。
Spring的目标之一是实现一个非侵入性框架,希望让应用程序几乎感觉不到框架的存在,减低应用程序在框架
移植时的负担,近一步增加应用程序组建的可重用性。
容器可以管理对象的生命周期,对象和对象之间的依赖关系。使用配置文件来配置..........
(容器是一个java编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您作好)
Spring最重要的核心概念控制反转,更具体一点就是依赖注入。
使用Spring,您不必自己在程序代码中维护对象的依赖关系,只需在配置文件中加以设定,Spring核心容器会自动
根据配制将依赖注入指定的对象。
面向切面编程(AOP),它允许程序员对横切关注点或横切典型的职责分界线的行为进行模块化。
Spring提供对持久层的整合,如对JDBC的使用加以封装与简化,提供事务管理功能,对于O/R Mapping工
具(Hibernate,iBATIS)的整合也提供了解决方案。
Spring也提供MVC Web框架的解决方案,使用spring Web框架的好处是可以善用IoC和AOP的功能。
对于一些服务,例如:JNDI,Mail,任务计划(Scheduling),远程(Remoting)等,Spring不直接提供实现
而是采用抽象层方式对这些服务进行封装,让这些服务在使用时可以有一致的使用模型,并且在使用上更为简
化。