spring框架应用于哪一方面?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring框架应用于哪一方面?相关的知识,希望对你有一定的参考价值。
spring 框架介绍 它关注的领域是其他许多流行的Framework未曾关注的。Spring要提供的是一种管理你的业务对象的方法。 Spring既是全面的又是模块化的。Spring有分层的体系结构,这意味着你能选择仅仅使用它任何一个独立的部分,而它的架构又是内部一致。因此你能从你的学习中,得到最大的价值。例如,你可能选择仅仅使用Spring来简单化JDBC的使用,或用来管理所有的业务对象。 它的设计从一开始就是要帮助你编写易于测试的代码。Spring是使用测试驱动开发的工程的理想框架。 Spring不会给你的工程添加对其他的框架依赖。Spring也许称得上是个一站式解决方案,提供了一个典型应用所需要的大部分基础架构。它还涉及到了其他framework没有考虑到的内容。 尽管它仅仅是一个从2003年2月才开始的开源项目,但Spring有深厚的历史根基。这个开源工程是起源自我在2002年晚些时候出版的《Expert One-on-One J2EE设计与开发》书中的基础性代码。这本书展示了Spring背后的基础性架构思想。然而,对这个基础架构的概念可以追溯到2000年的早些时候,并且反映了我为一系列商业工程开发基础结构的成功经验。 Spring架构上的好处 在我们进入细节之前,让我们来看看Spring能够给工程带来的种种好处: Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题。 Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性。Inversion of Control的使用(在下面讨论)帮助完成了这种简化。 通过把对接口编程而不是对类编程的代价几乎减少到没有,Spring能够促进养成好的编程习惯。 Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。 使用Spring构建的应用程序易于单元测试。 Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。 Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器,如果你仅仅需要与单个数据库打交道,甚至不需要一个JTA实现。 Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是O/R mapping产品(如Hibernate)。 Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。参考资料: http://jit.blogbus.com/logs/2004/05/173127.html 参考技术A Spring是一种轻量级的框架,包含IOC注入 AOP代理.为类类之间的解偶合提供了很好的实践Spring框架 — 1
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功能,如:对消息的支持等
以上是关于spring框架应用于哪一方面?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Spring Boot 快速构建 Spring 框架应用,PropertyPlaceholderConfigurer