spring学习一:概述

1.1Spring是什么?

  Spring是一款主流的Java EE轻量级开源框架,Spring目的是用于简化java企业级

应用的开发难度和开发周期,spring的用途不仅限于服务器端的开发,从简单性,可

测试性和松耦合的角度而言,任何java应用都可以从Spring中受益,Spring框架除了

自己提供功能外,还提供整合其他技术的框架的能力。

1.2Spring的划分方式(狭义和广义)

广义:

  广义上的Spring泛指以Spring Framework为核心的Spring技术栈。

  经过十多年的发展,Spring已经不再是一个单纯的应用框架,而是逐渐发展成为

一个由多个不同子项目(模块)组成的成熟技术,例如Spring Framework,Spring MVC,

SpringBoot,Spring Cloud,Spring Data,Spring Security等,其中Spring Framework

是其他子项目的基础。

  这些子项目涵盖了从企业级应用开发到云计算等各方面的内容,能够帮助开发人

员解决软件发展过程中不断产生的各种实际问题,给开发人员带来了更好的开发体验。

狭义:

  狭义的Spring特指 Spring Framework,通常我们将它称为Spring框架。

  Spring框架是一个分层的,面向切面的Java应用程序的一站式轻量级解决方案,

它是Spring技术栈的核心和基础,是为了解决企业级应用开发的复杂性而创建的。

  Spring有两个核心模块:IOC和AOP

IOC:inverse of controll的简写,译为“控制反转”,指把创建对象过程交给Spring进行管理。

AOP:aspect oriented programming的简写,译为“面向切面编程”。AOP用来封装多个类的

公共行为,将哪些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统

的重复代码,降低模块间的耦合度,另外,AOP还解决一些系统层面上的问题,比如

日志,事务,权限等。

 1.3Spring Framework特点

●非侵入式:使用Spring Framework开发应用程序时,Spring对应用程序本身的结构影响非

常小,对领域模型可以做到零污染,对功能性组件也只需要使用几个简单的注解进行标记,

完全不会破坏原有的结构,反而能将组件结构进一步简化,这就使得基于Spring Framework

开发应用程序时结构清晰,简洁优雅。

●控制反转:IOC,反转资源获取方式,把自己创建资源,向环境索取资源变成环境将资

源准备好,我们享受资源注入。

●面向切面编程:AOP,在不修改源代码的基础上增强了代码功能。

●容器:Spring IOC是一个容器,因为它包含并且管理组件对象的生命周期,组件享受到了

容器化的管理,替程序员屏蔽了组件创建过程中的大量细节,极大地降低了使用门槛,大

幅度提高开发效率。

●组件化:Spring实现了使用简单的组件配置组合成一个复杂的应用,在Spring中可以使用

XML和Java注解组合这些对象,这使得我们可以基于一个个功能明确,边界清晰的组件有

条不紊的搭建超大型复杂应用系统。

●一站式:在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库,

而且Spring旗下的项目已经覆盖了广泛领域,很多方面的功能性需求可以在Spring Framework

的基础上全部使用Spring来实现。

1.4Spring模块组成

①Spring Core(核心容器)

spring core提供了IOC,DI,Bean配置装载创建的核心实现,核心概念:Beans,BeanFactory,

BeanDefinitions,ApplicationContext。

●spring-core:IOC和DI的基本实现

●spring-beans:BeanFactory和Bean的装配管理

●spring-context:Spring-context上下文,即IOC容器(ApplicationContext)

●Spring-expression:spring表达式语言

②Spring AOP

●spring-aop:面向切面编程的应用模块,整合ASM,CGLib,JDK Proxy

●spring-aspects:继承Aspectj,AOP应用模块

●spring-instrument:动态Class Loading模块

③Spring Data Access

●spring-jdbc:spring对JDBC的封装,用于简化jdbc操作

●spring-orm:java对象与数据库数据的映射框架

●spring-oxm:对象与xml文件的映射框架

●spring-jms:spring对java Message Service(java消息服务)的封装,用于服务之间互相通信

●spring-tx:springjdbc事务管理

④Spring Web

●spring-web:最基础的web支持,建立与spring-context之上,通过service和listener来初始化IOC容器

●spring-webmvc:实现web mvc

●spring-websocket:与前端的全双工通信协议

●spring-webflux:spring5.0提供的,用于取代传统java servlet,非阻塞式reactive Web框架,

异步,非阻塞,事件驱动的服务

⑤Spring Message

●spring-messaging:spring4.0提供的,为Spring继承一些基础的报文传送服务

⑥Spring Test

●spring-test:集成测试支持,主要是对junit的封装

1.5Spring6特点

版本要求:JDK最低17

spring版本:6.0.2

 

posted @   浮笙芸芸  阅读(14)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
点击右上角即可分享
微信分享提示