Spring 是最流行的企业 Java 应用程序开发框架。全球数以百万计的开发人员使用 Spring Framework 来创建高性能、易于测试和可重用的代码。

Spring 框架是一个开源的 Java 平台。它最初由 Rod Johnson 编写,并于 2003 年 6 月在 Apache 2.0 许可下首次发布。

在尺寸和透明度方面,Spring 是轻量级的。Spring 框架的基本版本大约为 2MB。

Spring Framework 的核心功能可用于开发任何 Java 应用程序,但有一些扩展可用于在 Java EE 平台之上构建 Web 应用程序。Spring 框架旨在通过启用基于 POJO 的编程模型使 J2EE 开发更易于使用并促进良好的编程实践。

使用 Spring 框架的好处

以下是使用 Spring Framework 的几个巨大好处的列表 -

Spring 使开发人员能够使用 POJO 开发企业级应用程序。仅使用 POJO 的好处是您不需要 EJB 容器产品(如应用程序服务器),但您可以选择仅使用健壮的 servlet 容器(如 Tomcat 或某些商业产品)。Spring 以模块化方式组织。尽管包和类的数量很多,但您只需要担心您需要的包和类,而忽略其余的。Spring 并没有重新发明轮子,而是真正利用了一些现有技术,如几个 ORM 框架、日志框架、JEE、Quartz 和 JDK 计时器以及其他视图技术。测试用 Spring 编写的应用程序很简单,因为依赖于环境的代码被移到了这个框架中。此外,通过使用 JavaBeanstyle POJO,使用依赖注入来注入测试数据变得更加容易。Spring 的 web 框架是一个精心设计的 web MVC 框架,它提供了一个很好的替代 web 框架,如 Struts 或其他过度设计或不太流行的 web 框架。Spring 提供了一个方便的 API 来将特定于技术的异常(例如由 JDBC、Hibernate 或 JDO 抛出)转换为一致的、未经检查的异常。轻量级 IoC 容器往往是轻量级的,尤其是与 EJB 容器相比时。这有利于在内存和 CPU 资源有限的计算机上开发和部署应用程序。Spring 提供了一个一致的事务管理接口,可以缩小到本地事务(例如使用单个数据库)和扩展到全局事务(例如使用 JTA)。

依赖注入 (DI)

Spring 最认同的技术是控制反转的依赖注入 (DI)风格。该控制反转(IOC)是一个笼统的概念,它可以在许多不同的方式来表达。依赖注入只是控制反转的一个具体例子。

在编写复杂的 Java 应用程序时,应用程序类应尽可能独立于其他 Java 类,以增加重用这些类的可能性,并在单元测试时独立于其他类进行测试。依赖注入有助于将这些类粘合在一起,同时保持它们的独立性。

究竟什么是依赖注入?我们分别看一下这两个词。这里的依赖部分转化为两个类之间的关联。例如,A 类依赖于 B 类。现在,让我们看看第二部分,注入。所有这些意味着,B 类将被 IoC 注入到 A 类中。

依赖注入可以通过将参数传递给构造函数的方式发生,也可以通过使用 setter 方法的后构造发生。由于依赖注入是 Spring Framework 的核心,我们将在单独的章节中用相关示例解释这个概念。

面向方面编程 (AOP)

Spring 的关键组件之一是面向方面的编程 (AOP)框架。跨越应用程序多个点的功能称为横切关注点,这些横切关注点在概念上与应用程序的业务逻辑分离。方面有各种常见的好例子,包括日志记录、声明性事务、安全性、缓存等。

OOP 中模块化的关键单位是类,而 AOP 中模块化的单位是方面。DI 帮助您将应用程序对象彼此分离,而 AOP 帮助您将横切关注点与它们影响的对象分离。

Spring Framework 的 AOP 模块提供了一个面向方面的编程实现,允许您定义方法拦截器和切入点,以干净地解耦实现应该分离的功能的代码。我们将在单独的章节中讨论更多关于 Spring AOP 概念的内容。


更多相关文章

  1. 表单,框架,选择器,css的三种插入样式(内联,外部样式,元素中)
  2. 一个免费开源的轻量级PHP开发框架
  3. 18.)PHPWeb开发框架~Laravel中表单自动验证机制配置
  4. 19.)PHPWeb开发框架~Laravel中生成验证码配置文件及验证操作
  5. 20.)PHPWeb开发框架~laravel中会话控制Session和Cookie的使用操作
  6. 21.)PHPWeb开发框架~laravel中缓存系统Cache的使用及配置操作
  7. 11.)PHPWeb开发框架~Laravel入门路由配置和使用规则介绍
  8. 12.)PHPWeb开发框架~Laravel入门控制器Controllers的使用介绍
  9. 13.)PHPWeb开发框架~Laravel接收用户的输入的类

随机推荐

  1. 怎么循环查看php-fpm的内存占用情况
  2. 精选PHP中常用的20个类库
  3. 分析PHP错误处理(核心特性)
  4. PHP操作Redis数据库常用方法(总结)
  5. PHP使用redis作为缓存(高效技术)
  6. php性能优化的方法介绍
  7. php实现顺序线性表
  8. Kubernetes 如果是个水族馆
  9. 自学系列 | 就谈自我管理!
  10. 智慧城市信息安全探讨