IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 1.Spring和Spring的组成 -> 正文阅读

[Java知识库]1.Spring和Spring的组成

1、Spring和Spring的组成

1.1、什么是Spring?

Spring是一个轻量级的控制反转和面向切面的的框架。

1.1.1、Spring的起源

Spring是Java EE开发的一个轻量级开源框架,由悉尼大学的音乐学博士Rod Johnson于2002 年提出,以interface21框架为基础,在2004年发布了Spring的第一个版本,Spring最大的目标是让Java EE的开发更容易,让现有的技术更加实用。

1.1.2、Spring的特点和优势

  • 特点:
    • 免费开源
    • 控制反转
    • 面向切面
    • 非侵入式
    • 依赖注入
    • 组件化
    • 容器
    • 一站式
  • 优势:
    • 让Java EE的开发更容易
    • 让现有的技术更加实用
    • 便于进行单元测试
    • 提供了良好的web MVC框架
    • 对复杂API进行封装,比如JDBC,javaMail等

1.2、Spring有哪些组件?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uZheuArN-1653111729237)(1.Spring5%E5%9F%BA%E7%A1%80.assets/image-20220521131120637.png)]

1.2.1、Core Container(核心容器)

  • Beans 模块:提供框架的基础部分,比如控制反转和依赖注入。

  • Core 核心模块:封装 Spring 的底层

  • Context 上下文模块:建立在 Core 和 Beans 模块的基础之上,集成 Beans 模块功能并添加资源绑定、数据验证、国际化、Java EE 支持、容器生命周期、事件传播等。ApplicationContext 接口是上下文模块的焦点。

  • SpEL 模块:提供表达式支持

1.2.2、Data Access/Integration(数据访问/集成)

  • JDBC 模块:提供一个 JBDC 的模板

  • ORM 模块:提供与流行框架集成的 API

  • OXM 模块:提供Java对象和XML 映射的抽象层实现,将 Java 对象映射成 XML ,或者将XML 映射成 Java 对象

  • JMS 模块:提供消息服务

  • Transactions 事务模块:提供编程和声明式事务管理

1.2.3、Web模块

  • Web 模块:提供了基本的 Web 开发功能
  • Servlet 模块:提供了 Spring MVC 框架
  • WebSocket 模块:提供了简单的接口,用户只要实现接口就可以快速的搭建 WebSocket Server,从而实现双向通讯
  • Webflux 模块: Spring WebFlux 用于创建基于事件循环执行模型的完全异步非阻塞的应用程序
  • Portlet 模块: 提供了在 Portlet 环境中使用 MVC 实现,在Spring 5.x中已经移除

1.2.4、AOP、Aspects、Instrumentation和Messaging

  • AOP 模块:提供了面向切面编程实现,比如日志记录、权限控制、性能统计

  • Aspects 模块:提供了一个AOP框架

  • Instrumentation 模块:提供了类工具的支持和类加载器的实现

  • messaging 模块:提供了对消息传递体系结构和协议的支持

  • jcl 模块: Spring 5.x中新增的日志框架集成的模块

1.2.5、Test模块

  • Test 模块: 支持 Junit 和 TestNG 测试框架
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-05-24 17:59:01  更:2022-05-24 18:02:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:35:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码