onion spring_Spring 初体验

一直以来,都有听说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作为一个框架,提供了一些基础的功能,如事物管理,持久层集成等,是开发人员专注于开发应用逻辑。

言归正传,开始体验

体验之旅二,Serving Web Content with Spring MVC  参考链接: http://spring.io/guides/gs/serving-web-content/

注:如果直接跟着这边教程走的话,可能到后面运行的时候会出错,需要在pom里面加上

org.springframework.boot

spring-boot-starter-thymeleaf

体验之旅三,AOP 面向切面的 编程体验

你可能感兴趣的:(onion,spring)