Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。
Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。
因此, Spring不仅仅能应用于J2EE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。
Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
其次,无需多言,这张图表很好地解释了 Spring 在 Java 生态系统中的主导地位。10 开发人员中就有 4 能在其应用中使用 Spring Boot,而紧随其后的便是Spring MVC 框架。
现在,让我们一起来尝试下Spring 快速入门指南吧!
第一步:启动一个新的 Spring Boot 项目
利用启动.spring.io创建一个“网络”项目。在“依赖项”对话框中搜索并添加“web”依赖项,如屏幕截图所示。点击“生成”按钮,下载 zip,然后将其解压缩到计算机上的文件夹中。
创建的项目启动.spring.io包含弹簧靴,一个使 Spring 准备好在您的应用程序中工作的框架,但不需要太多代码或配置。Spring Boot 是启动 Spring 项目的最快和最流行的方式。
第 2 步:添加您的代码
在 IDE 中打开项目并在文件夹DemoApplication.java中找到该文件
src/main/java/com/example/demo。现在通过添加下面代码中显示的额外方法和注释来更改文件的内容。您可以复制并粘贴代码或直接输入。
hello()我们添加的方法旨在获取一个名为 的字符串参数name,然后将该参数与"Hello"代码中的单词结合起来。这意味着如果您“Amy”在请求中将您的姓名设置为,则响应将为“Hello Amy”.
@RestController注释告诉 Spring 这段代码描述了一个应该在 web 上可用的端点。@GetMapping(“/hello”)告诉 Spring 使用我们的方法hello()来回答发送到该
http://localhost:8080/hello地址的请求。最后,@RequestParam告诉 Springname在请求中期待一个值,但如果它不存在,它将默认使用单词“World”。
第 3 步:尝试一下
让我们构建并运行程序。打开命令行(或终端)并导航到您拥有项目文件的文件夹。我们可以通过发出以下命令来构建和运行应用程序:
macOS/Linux:
./mvnw spring-boot:run
视窗:
mvnw spring-boot:run
您应该会看到一些与此非常相似的输出:
这里的最后几行告诉我们春天已经开始了。Spring Boot 的嵌入式 Apache Tomcat 服务器充当 Web 服务器,并正在侦听localhostport上的请求8080。打开浏览器,在顶部的地址栏中输入http://localhost:8080/你好. 你应该得到一个很好的回应,如下所示:
Spring能做什么
微服务
微服务架构是“新常态”。构建小型、独立、可立即运行的应用程序可以为您的代码带来极大的灵活性并增加弹性。Spring Boot 的许多专用功能使您可以轻松地在生产环境中大规模构建和运行微服务。别忘了,没有微服务架构是不完整的春云‒ 简化管理并提高容错能力。
反应性
反应式系统具有某些特性,使其成为低延迟、高吞吐量工作负载的理想选择。Project Reactor 和 Spring 产品组合协同工作,使开发人员能够构建响应式、弹性、弹性和消息驱动的企业级反应式系统。
云
开发分布式系统可能具有挑战性。复杂性从应用层转移到网络层,需要服务之间更大的交互。使您的代码“云原生”意味着处理12因子诸如外部配置、无状态、日志记录和连接到支持服务等问题。Spring Cloud 项目套件包含使用应用程序在云中运行所需的许多服务。
网络应用程序
Spring 使构建 Web 应用程序变得快速而轻松。通过删除与 Web 开发相关的大部分样板代码和配置,您可以获得一个现代 Web 编程模型,该模型可以简化服务器端 HTML 应用程序、REST API 和基于事件的双向系统的开发。
无服务器
无服务器应用程序利用现代云计算功能和抽象让您专注于逻辑而不是基础设施。在无服务器环境中,您可以专注于编写应用程序代码,而底层平台负责扩展、运行时间、资源分配、安全性和其他“服务器”细节。
事件驱动
事件驱动的系统反映了现代企业的实际运作方式——每天都在发生成千上万的小变化。Spring 处理事件并使开发人员能够围绕它们构建应用程序的能力意味着您的应用程序将与您的业务保持同步。Spring 有许多事件驱动选项可供选择,从集成和流式传输一直到云功能和数据流。
批
批处理高效处理大量数据的能力使其成为许多用例的理想选择。Spring Batch 行业标准处理模式的实现使您可以在 JVM 上构建健壮的批处理作业。从 Spring 产品组合中添加 Spring Boot 和其他组件可让您构建任务关键性批处理应用程序。
重要提醒: Spring 中国教育管理中心已携手 VMware 全球最新 Spring技术和认证体系,帮助中国院校构建专业教学内容,全面赋能未来开发人。
Spring Professional认证旨在测试和验证学生对 Spring 和 Spring Boot核心方面的理解和熟悉程度,例如:配置、组件扫描、AOP、数据访问和事务、REST、安全、自动配置、执行器、 Spring boot测试等。