一幅长文细学Spring(一)——Spring简介

简介: 本文讲述了Spring的概念

1 Spring简介

1.1 Spring概述

1.1.1 Spring是什么

官网Spring | Home

说明:Spring是分层的JavaSE/EE应用full-stack轻量级开源框架,以IOC(Inverse of Control)AOP(Aspect OrientedProgramming)为内核;其提供了展现层SpringMVC和持久层SpringJDBCTemplate以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的JavaEE企业应用开源框架。


1.1.2 Spring的优势

优点

  • 方便解耦,简化开发:通过Spring提供的IoC容器,可以将对象间的依赖关系交由Spring进行控制,避免硬编码所造成的过度耦合。用户不必再为单例模式类、属性文件解析等这些底层的需求编写代码,可以更专注于上层的应用。
  • AOC的编程支持:通过Spring的Aop功能,方便进行面向切片编程,许多不容易用传统OPP实现的功能可以通过AOP轻松实现。
  • 声明式事务的支持:可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务管理,提高开发效率和质量。
  • 方便程序的测试:可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事。
  • 方便集成各种优秀的框架:Spring对各种优秀框架的支持。
  • 降低JavaEEAPI的使用难度:Spring对JavaEEAPI进行薄薄的封装层,使这些API的使用难度大大降低。
  • Java源码是经典学习范例:Spring的源代码设计精巧、结构清晰、匠心独用,处处体现着大师对Java设计模式灵活运用以及对Java技术的高深造诣。


1.2 Spring系统架构

image-20220807163201784


1.2.1 SpringFrameWork特性

说明:SpringFramework是Spring基础框架,可以视为Spring基础设施,基本上任何其他Spring项目都是以SpringFramework为基础的。

特性

  • 非侵入式:使用Spring Framework开发应用程序时,Spring对应用程序本身的结构影响非常小。对领域模型可以做到零污染;对功能性组件也只需要使用几个简单的注解进行标记,完全不会破坏原有结构,反而能将组件结构进一步简化,这使得SpringFramework开发应用程序时结构清晰,简洁优雅。
  • 控制反转IOC:IOC全名为Inversion of Control,反转资源获取方向。把自己创建资源、向环境索要资源变成环境将资源准备好,我们享受资源注入
  • 面向切片编程AOP:AOP全名为Aspect Oriented Programming,在不修改源代码的基础上增强代码功能。
  • 容器:Spring IOC是一个容器,因为它包含并且管理组件对象的声明周期,组件享受到了容器化的管理,替 程序员屏蔽了组件创建过程中的大量细节,极大地降低了使用门槛,大幅度提高了开发效率
  • 组件化:Spring实现了简单的组件配置组合成一个复杂的应用。
  • 声明式:很多以前需要编写代码才能实现的功能,现在只需要声明需求即可由框架代为实现。
  • 一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库。而且Spring旗下的项目已经覆改了广泛领域,很多方面的功能性需求可以在Spring Framework的基础上全部使用Spring来实现。


1.2.2 SpringFramework五大功能模块

功能模块 功能介绍
Core Container 核心容器,在Spring环境下使用任何功能都必须基于IOC容器
AOP&Aspects 面向切面编程
Testing 提供了junit或TestNG测试框架的整合
Data Access/Integration 提供了对数据访问/集成的功能
Spring MVC 提供了面向web应用程序的集成功能


目录
相关文章
|
7月前
|
Java 数据库连接 应用服务中间件
Spring5源码(39)-Aop事物管理简介及编程式事物实现
Spring5源码(39)-Aop事物管理简介及编程式事物实现
51 0
|
25天前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
35 0
|
3月前
|
XML 监控 Java
Spring Cloud全解析:熔断之Hystrix简介
Hystrix 是由 Netflix 开源的延迟和容错库,用于提高分布式系统的弹性。它通过断路器模式、资源隔离、服务降级及限流等机制防止服务雪崩。Hystrix 基于命令模式,通过 `HystrixCommand` 封装对外部依赖的调用逻辑。断路器能在依赖服务故障时快速返回备选响应,避免长时间等待。此外,Hystrix 还提供了监控功能,能够实时监控运行指标和配置变化。依赖管理方面,可通过 `@EnableHystrix` 启用 Hystrix 支持,并配置全局或局部的降级策略。结合 Feign 可实现客户端的服务降级。
180 23
|
7月前
|
存储 XML Java
Spring简介
Spring简介
39 1
Spring简介
|
6月前
|
前端开发 Java 数据库连接
Spring的工作原理(一)简介
Spring的工作原理(一)简介
51 1
|
7月前
|
Java Spring
|
7月前
|
Java 数据库连接 数据库
Spring事务简介及案例:模拟银行账号间转账业务
Spring事务简介及案例:模拟银行账号间转账业务
190 0
|
7月前
|
Java 数据库连接 数据库
Spring事务简介,事务角色,事务属性
Spring事务简介,事务角色,事务属性
|
7月前
|
消息中间件 Java Nacos
第三章 Spring Cloud简介
第三章 Spring Cloud简介
74 0
|
7月前
|
开发框架 Java 数据库连接
初步了解Spring简介
Spring 是一个开源的 Java 应用程序框架,它为开发者提供了一种构建企业级应用程序的全面解决方案。它通过提供一种轻量级的、非侵入式的开发框架,简化了企业级应用程序的开发过程
93 4
初步了解Spring简介