spring(一) 简介

152 阅读2分钟

「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战

Spring是什么

Spring 框架,对常见问题也提供了良好的解决方案,也是当前java开发的主流框架。

  • Spring 是目前主流的 Java Web 开发框架,是 Java 世界最为成功的框架。该框架是一个轻量级的开源框架,具有很高的凝聚力和吸引力。
  • Spring 自诞生以来一直备受青睐,它包括许多框架,例如 Spring framework、SpringMVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 等,所以有人将它们亲切的称之为:Spring 全家桶。
  • Spring framework 就是我们平时说的 Spring 框架,本套教程我们将 Spring framework 简称为 Spring 框架。Spring 框架是全家桶内其它框架的基础和核心

Spring 框架特点

1)方便解耦,简化开发

将所有对象的创建和依赖关系的维护交给 Spring 管理

2)方便集成各种优秀框架

内部提供了对各种优秀框架(如 Struts2、Hibernate、MyBatis 等)的直接支持

3)降低 Java EE API 的使用难度

对 Java EE 开发中非常难用的一些 API(JDBC、JavaMail、远程调用等)都提供了封装

4)方便程序的测试

Spring 支持 JUnit4

5)AOP 编程的支持

提供面向切面编程

6)声明式事务的支持

通过配置@Transactional注解就可以完成对事务的管理

Spring体系结构

Spring 框架根据功能的不同划分成了多个模块

  • Data Access/Integration(数据访问与集成):包括 JDBC、ORM、OXM、JMS 和 Transactions 模块
  • Web:包括 Web、Servlet、WebSocket 和 Portlet 组件
  • AOP:向切面编程,降低业务逻辑和通用功能的耦合。
  • Aspects:提供与 AspectJ 的集成,是一个功能强大且成熟的面向切面编程(AOP)框架
  • Instrumentation(检测):类工具的支持和类加载器的实现,在特定的应用服务器中使用
  • Messaging(消息处理):支持对消息传递体系结构和协议
  • Core Container(核心容器):其他模块建立的基础,由 Beans 模块、Core 核心模块、Context 上下文模块和 SpEL 表达式语言模块组成,没有这些核心容器,也不可能有 AOP、Web 等上层的功能
  • Test:Spring 支持 Junit 和 TestNG 测试框架,而且还额外提供了一些基于 Spring 的测试功能,比如在测试 Web 框架时,模拟 Http 请求的功能。

Spring体系结构图

\