一直以来,都有听说Java三大开源框架,如雷贯耳,但是一直没有体验过,今天开始逐步体验下这三大开源框架,今天先从Spring开始。
在等待maven构建项目的这段时间,先去查查 Spring的优势?为什么要使用Spring?
- Spring的ICO容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们可以更加专注于业务逻辑。
- 可以提供众多服务,事物管理。
- AOP的很好支持,方便面向切面编程。
- 对主流框架提供了很少的集成支持,如:Hibernate Struts2等。
- Spring DI机制降低了业务对象替换的复杂性。
- Spring属于低侵入,代码污染极地
- Spring的高度开放性,并不强制依赖于Spring,开发者可以自由选择Spring的全部或者部门。
名词解释:
DI: Dependency Injection 依赖注入 和控制反转是一个概念,具体来讲,当一个角色需要另一个角色协助的时候,传统的程序设计中,通常由调用者来创建被调用者的实例。但是在Spring中,创建被调用者将不再由调用者完成,因此也叫作控制反转(Inversion of Control)。创建被调用对象由Spring来完成,在容器实例化对象的时候主动的将被调用者(也可以说是依赖对象)注入给调用对象,因此也叫作依赖注入。
AOP:面向切面编程,通过让业务逻辑从应用服务(如事物管理)中分离出来,实现高内聚开发,应用对象只关心业务逻辑,不在负责其它系统问题(日志,事物)。Spring支持用户自定义切面。
面向切面编程是面向对象编程的有力补充,面向对象编程将程序分成各个层次的对象,面向切面的程序将程序运行过程分解成各个切面。AOP是从运行程序的角度去考虑程序的结构,提取业务处理过程的切面,OOP是静态的抽象,AOP是动态的抽象,是对应用程序执行过程的步骤进行抽象,从而获得步骤之间的逻辑划分。
容器:Spring是个容器,因为它包含并且管理应用对象的生命周期和配置。如 对象的创建,销毁,回调等。
框架:Spring作为一个框架,提供了一些基础的功能,如事物管理,持久层集成等,是开发人员专注于开发应用逻辑。
言归正传,开始体验
体验之旅一,Building a RESTful Service 参考链接: https://spring.io/guides/gs/rest-service/