Spring框架整体概念

Spring框架基础概念

首先, 从Spring框架的整体架构和组成对整体框架有个认知。

Spring基础 - Spring和Spring框架组成

上图是从官网4.2.x获取的原图,目前我们使用最广法的版本应该都是5.x,5版本移除了Web模块中的Portlet子模块,新增了WebFlux模块,同时新增了公共的JCl日志管理模块。

我们JVM专题模块,通过一张图大概了解Java是如何运行的,如何通过将我们编写的Java代码编译成JVM可以认识的字节码的如何实现跨平台运行的。

同样Spring咱们也来瞅瞅Spring是将我们编写的Xml、注解或者其他配置文件编程Spring可以管理的Bean的?

在正式进入Spring专题之前,咱们先熟悉一下相关概念

Spring框架是一个开源的Java平台,它提供了全面的基础设施支持,以便您可以更容易地开发Java应用程序。Spring处理了基础设施,这样您就可以专注于您的应用程序。以下是对Spring框架整体架构和组成的概述:

  1. 核心容器:

    • Spring Core:提供了框架的基本组成部分,包括依赖注入(DI)和面向切面编程(AOP)。
  2. 数据访问/集成:

    • JDBC:提供了对Java数据库连接(JDBC)的抽象,简化了数据库操作。
    • Hibernate:集成了Hibernate对象关系映射(ORM)框架。
    • JPA:支持Java持久性API,提供了一种管理数据库持久化的方式。
    • R2DBC:响应式关系数据库连接。
  3. Web层:

    • Spring MVC:实现了Model-View-Controller架构,用于构建Web应用程序。
    • Spring WebFlux:为响应式编程提供了支持。
  4. 安全:

    • Spring Security:提供了认证和授权的支持。
  5. 测试:

    • Spring Test:提供对JUnit和TestNG的支持,简化了测试工作。
  6. 消息:

    • Spring Messaging:支持消息传递系统。
  7. 集成:

    • Spring Integration:提供了与企业级应用程序的集成支持。
  8. 配置:

    • Spring Boot:简化了Spring应用程序的初始搭建和开发过程。
    • Spring Cloud:提供了用于构建分布式系统的解决方案。
  9. 数据:

    • Spring Data:简化了数据访问层的实现。
  10. 语言:

    • Kotlin、Groovy:支持多种编程语言,包括Kotlin和Groovy。
  11. 工具:

    • Spring Tool Suite:提供了一套工具,用于Spring应用程序的开发。
  12. IoC容器:

    • BeanFactory:是Spring IoC容器的基础,负责管理Bean的生命周期和依赖关系。
    • ApplicationContext:是BeanFactory的扩展,提供了更多的高级特性,如事件发布和应用消息支持。
  13. AOP:

    • 提供了面向切面编程的支持,允许开发者定义横切关注点,如日志记录、事务管理等。
  14. 事务管理:

    • 支持声明式和编程式事务管理。

Spring框架的组件通过依赖注入(DI)和面向切面编程(AOP)两个核心概念相互协作,提供了一个灵活、可扩展的应用程序开发模型。通过使用Spring,开发者可以利用其丰富的组件和模块来构建各种类型的应用程序,而不必担心底层的基础设施。

相关推荐
墨家句子1 分钟前
AnythingLLM 搭本地知识库:文档问答不准怎么调
linux·后端
知守观1 分钟前
OBS 同名文件互相覆盖,客户拿错了别人的报告:一次文件串号的排查与重构
java·后端
特立独行的猫A6 分钟前
Godot 游戏编辑器移植鸿蒙 PC:难度与可行性分析
后端·harmonyos
章鱼哥19719 分钟前
DeepSeek Harness 插件开发新手教程
后端·deepseek
特立独行的猫A18 分钟前
C++ 异步编程:std::future 与 std::promise 详解(含 RPC 客户端实现实践)
c++·后端
Anymous23 分钟前
支付为什么要验两次签?——从渠道验签到服务间信任边界与 RSA2
后端
泡海椒37 分钟前
JQuick-Excel 字段映射实战:用 MAPPING 固化 Excel 表头与业务字段契约
xml·java·开发语言·excel
梦幻通灵43 分钟前
IDEA 实用快捷键【持续更新】
java·ide·intellij-idea
南归北隐44 分钟前
Spring AI Alibaba Graph框架实现Tools工具调用
java·后端·spring·spring ai·spring ai tools
开开心心就好1 小时前
视频模糊怎么修复?免费工具支持批量处理
java·前端·人工智能·智能手机·pdf·excel