1.Spring和Spring的组成

本文深入解析Spring框架,从起源、特点和优势出发,探讨其核心组件如CoreContainer、DataAccess/Integration、Web模块及AOP等,展现如何通过控制反转和依赖注入简化JavaEE开发。
摘要由CSDN通过智能技术生成

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-1KOnYRdy-1653112118588)(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 测试框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值