Spring的说明
·Spring是一个开源框架,为了解决企业级应用开发的复杂性而创建的,但现在已经不止应用于企业应用
·是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架
|- 从大小与开销两个方面而言Spring都是轻量的
|- 通过控制反转(IoC)的技术达到松耦合的目的
|- 提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务进行内聚性的开发
|- 包含并管理应用对象的配置和生命周期,这个意义上是一种容器
|- 将简单的组件配置、组合成为复杂的应用,这个意义上是框架
注明:
IoC - Inverse of Control,控制反转,简单的说就是交出控制权,传统的实例化对象都是new Order(); 现在都交由Spring管理,需要的时候直接通过bean来拿就可以了。
AOP - Aspect Oriented Programming,面向切面编程,将一些与非业务逻辑的代码中分离出来,例如:日志记录、性能统计、安全控制、事务处理。这种在运行时,动态地将
代码切入到类的指定方法、指定位置上的编程思想就是面向切面的编程。
耦合 - 耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块
间接口的复杂性、调用的方式及传递的信息。
系统级服务 - 例如:在生成Order的时候(业务逻辑),必须要生成的日志记录,以及事务的处理(系统级服务)。
内聚 - 内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它
的内聚性就越高。
Spring的作用
·容器
·提供了对多种技术的支持
|- JMS
|- MQ支持
|- UnitTest(单元测试)
·AOP(事务管理、日志等)
·提供了众多方便应用的辅助类(JDBC Template等)
·对主流应用框架(Hibernate等)提供了良好的支持
适用范围
·构建企业应用(SpringMVC + Spring + Hibernate/ibatis)
·单独适用Bean容器(Bean管理)
·单独使用AOP进行切面处理
·其他的Spring功能,如:对消息的支持等