0


六十八、Spring框架入门 -- 理论

** Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。**

                                                                                                                                            **----《百度百科》**

**Spring官网: **http://spring.io

Spring背景

    Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的 复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。简单来说,Spring 是一个分层的 Java SE/EE full-stack(一站式)轻量级开源框架。

Spring概述

    Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。

    根据功能的不同,可以将一个系统中的代码分为主业务逻辑与系统级业务逻辑两类。它 们各自具有鲜明的特点:主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性 相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供 系统级服务,如日志、安全、事务等,复用性强。 Spring 根据代码的功能特点,将降低耦合度的方式分为了两类:IoC 与 AOP。IoC 使得主 业务在相互调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是 由 Spring 容器统一管理,自动“注入”。而 AOP 使得系统级服务得到了最大复用,且不用再 由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由 Spring 容器统一完成“织入”。Spring 的主要作用就是为代码“解耦”,降低代码间的耦合度。 根据功能的不同,可以将一个系统中的代码分为主业务逻辑与系统级业务逻辑两类。它们各自具有鲜明的特点:主业务代码间逻辑联系紧密,有具体的专业业务应用场景,复用性 相对较低;系统级业务相对功能独立,没有具体的专业业务应用场景,主要是为主业务提供 系统级服务,如日志、安全、事务等,复用性强。

     Spring 根据代码的功能特点,将降低耦合度的方式分为了两类:IoC 与 AOP。IoC 使得主 业务在相互调用过程中,不用再自己维护关系了,即不用再自己创建要使用的对象了。而是 由 Spring 容器统一管理,自动“注入”。而 AOP 使得系统级服务得到了最大复用,且不用再 由程序员手工将系统级服务“混杂”到主业务逻辑中了,而是由 Spring 容器统一完成“织入”。

Spring体系结构

 **    Spring 由 20 多个模块组成,它们可以分为数据访问/集成(Data Access/Integration)、 Web、面向切面编程(AOP, Aspects)、应用服务器设备管理(Instrumentation)、消息发送 (Messaging)、核心容器(Core Container)和测试(Test)。**

Spring框架解压目录及其Jar包说明

Spring4.3.6 包下载链接:https://tuomasi.lanzouy.com/b02uszjje

密码:Spring

Spring基础Jar包下载链接:https://tuomasi.lanzouy.com/b02uszjch

密码:jars

Spring特点

1、非侵入式

    所谓非侵入式是指,Spring 框架的 API 不会在业务逻辑上出现,即业务逻辑是 POJO。由 于业务逻辑中没有 Spring 的 API,所以业务逻辑可以从 Spring 框架快速的移植到其他框架, 即与环境无关。

2、容器

    Spring 作为一个容器,可以管理对象的生命周期、对象与对象之间的依赖关系。可以通 过配置文件,来定义对象,以及设置与其他对象的依赖关系。

3、IOC

    控制反转(Inversion of Control),即创建被调用者的实例不是由调用者完成,而是由 Spring 容器完成,并注入调用者。

    当应用了 IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象 自己创建或者查找依赖对象。即,不是对象从容器中查找依赖,而是容器在对象初始化时不 等对象请求就主动将依赖传递给它。

4、AOP

    面向切面编程(AOP,Aspect Orient Programming),是一种编程思想,是面向对象编程 OOP 的补充。很多框架都实现了对 AOP 编程思想的实现。Spring 也提供了面向切面编程的 丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如日志和事务管理)进行开发。 应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责其它的系统级 关注点,例如日志或事务支持。

     我们可以把日志、安全、事务管理等服务理解成一个“切面”,那么以前这些服务一直 是直接写在业务逻辑的代码当中的,这有两点不好:首先业务逻辑不纯净;其次这些服务被 很多业务逻辑反复使用,完全可以剥离出来做到复用。那么 AOP 就是这些问题的解决方案, 可以把这些服务剥离出来形成一个“切面”,以期复用,然后将“切面”动态的“织入”到 业务逻辑中,让业务逻辑能够享受到此“切面”的服务。

Spring入门总结

1、Spring 是轻量级的开源的 JavaEE 框架

2、Spring 可以解决企业应用开发的复杂性

3、Spring 有两个核心部分:IOC 和 Aop

(1)IOC:控制反转,把创建对象过程交给 Spring 进行管理

(2)Aop:面向切面,不修改源代码进行功能增强

4、Spring 特点

(1)方便解耦,简化开发

(2)Aop 编程支持

(3)方便程序测试

(4)方便和其他框架进行整合

(5)方便进行事务操作

(6)降低 API 开发难度

标签: spring java javaee

本文转载自: https://blog.csdn.net/m0_54925305/article/details/123074976
版权归原作者 托马斯-酷涛 所有, 如有侵权,请联系我们删除。

“六十八、Spring框架入门 -- 理论”的评论:

还没有评论