Spring概述

Spring概述

Spring是什么

JavaEE开源框架

简化开发,整合其他技术和框架

广义:

以Spring Frameword为核心的Spring技术栈

由多个不同子项目(模块)组成的成熟技术,例如 Spring Framework、Spring MVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等

其中 Spring Framework 是其他子项目的基础。

狭义:

Spring Framework

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

核心模块:IoC和AOP

IoC:控制反转,把创建对象交给Spring管理,包含并且管理组件对象的生命周期。

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

  1. 面向切面编程AOP -》 面向对象编程OOP的补充和完善

切面:需要跨越多种类型和对象的操作。对业务逻辑的各个部分进行隔离,提高程序的可重用性,同时提高了开发的效率

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

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

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

spring-expression:spring表达式语言

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

spring-aspects:集成AspectJ,AOP应用框架

spring-instrument:动态Class Loading模块

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

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

spring-oxm:对象与xml文件的映射框架spring-jms: Spring对Java Message Service(java消息服务)的封装,用于服务之间相互通信

spring-tx:spring jdbc事务管理

spring-web:最基础的web支持,建立于spring-context之上,通过servlet或listener来初始化IOC容器

spring-webmvc:实现web mvc

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

spring-webflux:Spring 5.0提供的,用于取代传统java servlet,非阻塞式Reactive Web框架,异步,非阻塞,事件驱动的服务

Spring-messaging:spring 4.0提供的,为Spring集成一些基础的报文传送服务

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

相关推荐

  1. Spring面试整理-Spring概述

    2024-06-05 21:24:07       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-05 21:24:07       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-05 21:24:07       106 阅读
  3. 在Django里面运行非项目文件

    2024-06-05 21:24:07       87 阅读
  4. Python语言-面向对象

    2024-06-05 21:24:07       96 阅读

热门阅读

  1. Flutter 中的 Table 小部件:全面指南

    2024-06-05 21:24:07       33 阅读
  2. pytest-playwright 插件的使用

    2024-06-05 21:24:07       30 阅读
  3. wpf窗体背景添加径向渐变效果实现

    2024-06-05 21:24:07       27 阅读
  4. 【LeetCode 1】两数之和

    2024-06-05 21:24:07       31 阅读
  5. RUST运算符重载

    2024-06-05 21:24:07       26 阅读
  6. 【linux自动化实践】linux shell 脚本 替换某文本

    2024-06-05 21:24:07       30 阅读
  7. 数据结构学习笔记(6)--特殊矩阵的压缩存储

    2024-06-05 21:24:07       30 阅读
  8. 云计算和雾计算

    2024-06-05 21:24:07       28 阅读
  9. 【面试】JDK和JVM是什么关系?

    2024-06-05 21:24:07       31 阅读
  10. 使用 AlarmManager 结合广播接收器来实现定时检查

    2024-06-05 21:24:07       27 阅读
  11. WSL虚拟机的两种网络配置方式 NAT Mirrored

    2024-06-05 21:24:07       28 阅读