开发者社区> ArimaMisaki> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

一幅长文细学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应用程序的集成功能


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
springboot(四):thymeleaf使用详解
在上篇文章springboot(二):web综合开发中简单介绍了一下thymeleaf,这篇文章将更加全面详细的介绍thymeleaf的使用。thymeleaf 是新一代的模板引擎,在spring4.0中推荐使用thymeleaf来做前端模版引擎。 thymeleaf介绍 简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可
1108 0
SpringBoot整合elasticsearch
在这一篇文章开始之前,你需要先安装一个ElasticSearch,如果你是mac或者linux可以参考https://www.jianshu.com/p/e47b451375ea,如果是windows可以自定百度一下。
1451 0
SpringBoot使用RabbitMQ(二)
springboot使用rabbitmq发送回调队列
2878 0
SpringBoot【整合JSP】
SpringBoot中默认是不支持jsp的,但是我们某些情况下可以又需要用到,所以本文记录下SpringBoot整合jsp的过程
0 0
Spring Boot 实现定时任务的 4 种方式
定时任务实现的几种方式: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。
0 0
Spring Boot 应用可视化监控,一目了然!
Spring Boot 应用可视化监控,一目了然!
0 0
redis在springboot中的使用
redis在springboot中的使用
0 0
SpringBoot——SpringBoot集成MyBatis
SpringBoot——SpringBoot集成MyBatis
0 0
+关注
ArimaMisaki
一个认真并且每天保持学习的开荒者
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Spring框架入门
立即下载
微服务架构模式与原理Spring Cloud开发实战
立即下载
电商网站需求分析和架构设计Spring Boot2.6入门
立即下载