1. 概述
今天我们将讨论 Spring 作为最流行的 Java 框架之一的主要价值体现。
最重要的是,我们将尝试理解 Spring 成为我们选择框架的原因。Spring 的详细信息及其组成部分已在我们 之前的教程中广泛介绍 。 因此,我们将跳过介绍性的“如何”部分,并主要关注“为什么”。
2. 为什么使用任何框架?
在我们开始任何关于 Spring 的讨论之前,首先让我们了解为什么我们首先需要使用任何框架。
像 Java 这样的通用编程语言能够支持多种应用程序。更不用说 Java 每天都在积极地改进。
此外,还有无数开源和专有库在这方面支持 Java 。
那么,我们究竟为什么需要一个框架呢?老实说,使用框架来完成任务并不是绝对必要的。但是,出于以下几个原因,使用一个通常是明智的:
帮助我们 专注于核心任务,而不是与之相关的样板
以设计模式的形式汇集了多年的智慧
帮助我们遵守行业和监管标准
降低应用程序的总体拥有成本
我们刚刚触及了表面,我们必须说,好处难以忽视。但这不可能是积极的,所以要注意的是:
强制我们 以特定的方式编写应用程序
绑定到特定版本的语言和库
添加到应用程序的资源占用
坦率地说,在软件开发和框架中没有什么银弹,Java 当然也不例外。因此,应该根据上下文来选择哪个框架或不用框架。
在本文的最后,我们将更好地做出关于 Java 中的 Spring 的决策。
3. Spring 生态系统的简要概述
在我们开始对 Spring 框架进行定性评估之前,让我们仔细看看 Spring 生态系统是什么样子的。
Spring 是在2003年的某个时候出现的,当时 Java 企业版发展迅速,开发企业应用程序很令人兴奋,但也很乏味!
Spring 最初是 Java 的 一个控制反转 (IoC)容器 。我们仍然主要将 Spring 与它联系起来,事实上,它构成了框架的核心,以及在此基础上开发的其他项目。
3.1. Spring 框架
Spring 框架 被划分为多个模块 ,这使得在任何应用程序中都可以很容易地选择要使用的部分:
Core :提供核心特性,如 DI (依赖注入)、国际化、验证和 AOP (面向切面编程)
Data Access :支持通过JTA ( Java事务 API )、JPA (Java 持久性 API )和 JDBC (Java 数据库连接)访问数据
Web :同时支持 Servlet API( Spring MVC )和最近的反应式 API( Spring WebFlux ),另外还支持WebSockets、STOMP 和 WebClient
Integration :支持通过 JMS(Java 消息服务)、JMX (Java 管理扩展)和 RMI (远程方法调用)集成到企业 Java
Testing :通过模拟对象、测试装置、上下文管理和缓存支持单元和集成测试
3.2. Spring 项目
但是,Spring 更有价值的是 一个强大的生态系统,这个生态系统多年来一直在发展,并且还在不断发展。 它们的结构是 Spring 项目 ,它们是在 Spring 框架之上开发的。
尽管 Spring 项目的清单很长,而且一直在变化,但仍有一些值得一提的地方:
Boot :为我们提供了一组高度自定义但可扩展的模板,用于在几乎不花费时间的情况下创建基于 Spring 的各种项目。它使使用嵌入式 Tomcat 或类似容器创建独立的 Spring 应用程序变得非常容易。
Cloud :提供支持轻松地开发一些常见的分布式系统模式,如服务发现,断路器,以及 API 网关。 它有助于我们减少在本地,远程甚至托管平台中部署此类样板模式的工作量。
Security :提供一种健壮的机制,以高度可定制的方式为基于 Spring 的项目开发身份验证和授权。通过最少的声明性支持,我们可以获得对常见攻击的保护,比如会话固定、点击劫持和跨站点请求伪造。
Mobile :提供检测设备并相应地调整应用程序行为的功能。此外,支持设备感知的视图管理,以获得最佳用户体验、站点首选项管理和站点切换器。
Batch :提供轻量级框架,用于为数据归档等企业系统开发批处理应用程序。对调度、重启、跳过、收集指标和日志记录有直观的支持。此外,还支持通过优化和分区对大容量作业进行扩展。
毋庸置疑,这是对 Spring 所提供内容的一个相当抽象的介绍。但是它为我们提供了关于 Spring 的组织和广度的足够的基础,以便我们进一步讨论。
4. Spring 操作
人们习惯于添加一个 hello world 程序来了解任何新技术。
让我们来看看 Spring 如何让编写一个不仅仅是 Hello World 的程序变得轻松自如 。我们将创建一个应用程序,该应用程序将 CRUD 操作公开为一个域实体(如由内存数据库支持的雇员)的 REST API。更重要的是,我们将使用基本认证来保护我们的突变端点。最后,没有好的、旧的单元测试,任何应用程序都不能真正完成。
以上就是长沙牛耳教育Java培训机构小编介绍的“为什么选择Spring作为Java 框架?java spring框架教程”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
相关视频教程
spring4教程下载:http://www.bjpowernode.com/v60/
springmvc入门教程:http://www.bjpowernode.com/v40/
springboot菜鸟教程:http://www.bjpowernode.com/v102/