第一章、概述

第一章、概述

1、SPring是什么?

1、框架:是程序的半成品,帮我们实现了一半

2、开源:开发源代码

3、轻量级:体积小、不需要依赖其他组件

4、Spring是一款主流的javaEE轻量级开源框架

5、目的:简化java企业级应用的开发难度和开发周期

6、不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度,任何java应用也可以在Spring受益

7、Spring成为了javaEE的代名词

2、Spring的狭义和广义的划分

1、广义上

1、Spring泛指以Spring Framework为核心的Spring技术栈

2、经过十多年的发展,Spring不是一个单纯的应用框架了,而是发展有一个或多个不同子项目(模块)组成的成熟技术。

3、Spring Framework是其他子项目的基础

2、狭义上

1、狭义的Spring就是特指Spring Framework,我们通常将它成为Spring框架

2、Spring框架是一个分层的、面向切面的java应用程序的一站式轻量级解决方案。是Spring技术栈的核心和基础,为了解决企业级应用开发的复杂性而创建的

1、两个核心模块

1、loC和AOP

2、loC控制反转

1、是指把创建对象过程交给Spring进行管理

3、AOP面向切片编程

1、用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度

2、AOP还解决一些系统层面上的问题,日志、事务、权限

3、Spring Framework特点

1、非侵入式

1、程序本身小,对领域模型做到零污染

2、对功能性组件也只要几个注解进行标记,不破坏原有的结构,反而还能简化组件结构

2、控制反转

1、反转资源获取方向。把自己创建资源、像环境索取资源,变成环境将资源准备好,我们享受注入过程(例如对象的创建,Spring中会创建好对象,我们使用就行)

3、面向切片编程

1、在不修改源代码的基础上增强代码功能

4、容器

1、SpringIOC是一个容器, 它包含并管理组件对象,的生命周期。

2、组件享受了容器化管理替程序员屏蔽组件创建过程中的大量细节,极大的降低了使用门槛,提高开发效率

5、组件化

1、就是实现了用简单的组件配置,组合成一个复杂的应用。

2、Spring可以用xml和java类和注解,组合这些对象。使我们可以基于一个个功能明确。

3、组件是可以复用的java对象

4、组件是对象,对象不一定能是组件

6、一站式

1、在IOC和AOP的基础上可以整合各种企业应用的开源框架和优秀的第三方类库。而且Spring旗下的项目已经覆盖广泛

2、很多方面的功能性需求可以在Spring Framework的基础上全部使用Spring来实现

4、Spring模块组成

1、图示

image-20231006235719560

2、内容

上图中包含了 Spring 框架的所有模块,这些模块可以满足一切企业级应用开发的需求,在开发过程中可以根据需求有选择性地使用所需要的模块。下面分别对这些模块的作用进行简单介绍。

1、Spring Core(核心容器)

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

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

  • spring-beans:BeanFactory和Bean的装配管理(BeanFactory)

  • spring-context:Spring context上下文,即IOC容器(AppliactionContext)

  • spring-expression:spring表达式语言

2、Spring AOP**
  • spring-aop:面向切面编程的应用模块,整合ASM,CGLib,JDK Proxy
  • spring-aspects:集成AspectJ,AOP应用框架
  • spring-instrument:动态Class Loading模块
3、Spring Data Access**
  • spring-jdbc:spring对JDBC的封装,用于简化jdbc操作
  • spring-orm:java对象与数据库数据的映射框架
  • spring-oxm:对象与xml文件的映射框架
  • spring-jms: Spring对Java Message Service(java消息服务)的封装,用于服务之间相互通信
  • spring-tx:spring jdbc事务管理
4、Spring Web
  • spring-web:最基础的web支持,建立于spring-context之上,通过servlet或listener来初始化IOC容器
  • spring-webmvc:实现web mvc
  • spring-websocket:与前端的全双工通信协议
  • spring-webflux:Spring 5.0提供的,用于取代传统java servlet,非阻塞式Reactive Web框架,异步,非阻塞,事件驱动的服务
5、Spring Message
  • Spring-messaging:spring 4.0提供的,为Spring集成一些基础的报文传送服务
6、Spring test
  • spring-test:集成测试支持,主要是对junit的封装

5、Spring6特点

1、版本要求

1、jdk版本要求是jdk17

2、idea用2022.3月份的

3、spring用6.0.2

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇