Spring(一)
一、Spring概述
Spring是分层的JAVA se/ee 应用,full-stack轻量级开源框架,以IoC(Inverse of control 反转控制)和AOP(Aspect Oriented Programming 面向切面编程)为内核,提供了展现层SpringMVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JAVA EE企业应用开源框架。
Spring的特点

Spring模块功能

Spring的优势
1、Spring优势
在了解什么是Spring优势之前,我们应该了解几个重要的程序的耦合和解耦。
耦合度指模块间的依赖关系,包括控制关系、调用关系、数据的传递关系。耦合度的强弱取决于模块间接口的复杂性,调用模块的方式以及通过界面传送数据的多少。在软件工程中,对象之间的耦合越高,其维护成本越高。 v
1)方便解耦,简化开发
通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合,用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。
2)AOP编程支持
通过Spring的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付。
3 )声明式事务的支持
可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。
4) 方便程序的测试
可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。
5) 方便集成各种优秀框架Spring可以降低各种框架的使用难度,提供了对各种优秀框架(Struts、Hibernate、Hessian、Quartz等)的直接支持。
6) 降低JavaEE API的使用难度
Spring对JavaEE API(如JDBC、JavaMail、远程调用等)进行了薄薄的封装层,使这些API的使用难度大为降低。
7) Java源码是经典学习范例
Spring的源代码设计精妙、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。它的源代码无意是Java技术的最佳实践的范例。
二、程序的耦合及解耦
耦合性(Coupling),也叫耦合度,是对模块间关联程度的度量。在软件工程中,耦合指的就是就是对象之间的依赖性。对象之间的耦合越高,维护成本越高。因此对象的设计应使类和构件之间的耦合最小。划分模块的一个准则就是高内聚低耦合。
工厂模式解耦
控制反转:把创建对象的权力交给框架,是框架的重要特征,包括依赖注入DI和依赖查找dependency lookup。
作用:削减计算机程序的耦合
浙公网安备 33010602011771号