关于Spring Framework的正式入门指南


介绍

我试图学习Spring框架,并查看了正式的入门指南,但数量却被弄乱了。
实际上,我当时想考虑要实际做的所有事情,但是我感到沮丧,甚至分类似乎都没有完成,但是我通过了第一遍,因此我将其归纳起来以进行追悼会。
内容截至2018年6月。

入门指南

关于构建Spring Boot

的基础

https://spring.io/guides/gs/spring-boot/
关于构建Spring Boot的基本内容。
与其他入门指南相同,但我认为您可以先阅读。

IDE

弹簧工具套件

https://spring.io/guides/gs/sts/
关于Spring Tool Suite,这是Spring Framework的IDE。

IntelliJ IDEA

https://spring.io/guides/gs/intellij-idea/
如何使用IntelliJ IDEA。 Ultimate Edition似乎可以与Spring Framework一起使用,但它可能是付费的。

REST API

创建了

https://spring.io/guides/gs/rest-service/
如何制作一个在HTTP GET请求中返回JSON的API。
我没有涉及通过POST请求创建API,因此需要单独研究。

运行

https://spring.io/guides/gs/standing-rest/
使用RestTemplate类的简单REST API执行方法。

执行计划任务

https://spring.io/guides/gs/scheduling-tasks/
当您要定期执行任务时如何实现。
该示例使用fixedRate(不管正在运行的任务是否完成,均定期执行任务),但是使用fixedDelay(正在运行的任务完成后保持不变。请稍等片刻以执行下一个任务)和cron

关于构建项目

摇篮

https://spring.io/guides/gs/gradle/
用Gradle构建。

Maven

https://spring.io/guides/gs/maven/
由Maven构建。

创建一个WAR文件

https://spring.io/guides/gs/convert-jar-to-war/
关于创建WAR文件。

多项目

https://spring.io/guides/gs/multi-module/
如何构建多个项目。

DB

通过JDBC

连接到RDB

https://spring.io/guides/gs/relational-data-access/
如何使用JdbcTemplate类连接到RDB。

交易管理

https://spring.io/guides/gs/managing-transactions/
顾名思义,DB事务管理。

上传文件

https://spring.io/guides/gs/uploading-files/
如何上传文件。
在某些地方仅显示界面作为示例,因此,如果您想暂时移动它,最好参考官方的GitHub。
我还在测试代码中使用了MockMvcRequestBuilders.fileUpload方法,但是它似乎已被弃用,因此使用MockMvcRequestBuilders.multipart方法似乎更好。我想知道我是否没有正确更新它...

安全性

LDAP验证

https://spring.io/guides/gs/authenticating-ldap/
关于LDAP身份验证。
似乎省略了application.properties的修改内容,因此官方GitHub可以用作该点的参考。
用户信息在文件中进行管理以进行测试,而LdapShaPasswordEncoder(已弃用的类)用于密码编码,因此在生产中使用它时,有必要进行更多调查。

页面认证

https://spring.io/guides/gs/securing-web/
我正在创建一个页面,该页面只能由使用Spring Security进行身份验证的用户查看。

脸书

*新增2018/08
下方的链接在那里,但已从正式的《入门指南》列表中删除。 GitHub示例程序的项目名称也为deprecated,因此我认为将来无法使用与Facebook相关的项目。

连接到应用程序

https://spring.io/guides/gs/register-facebook-app/
使用FacebookTemplate类连接到Facebook应用程序。官方GitHub上有一个示例。

存取资料

https://spring.io/guides/gs/accessing-facebook/
关于访问Facebook数据。在示例中,我正在获取提要信息,但是据我所知,我喜欢它!

酒馆/ Sub

Redis

https://spring.io/guides/gs/messaging-redis/
Redis被称为NoSQL数据库,但似乎它也可以发送和接收消息。该示例总结了发送和接收消息。

兔子MQ

https://spring.io/guides/gs/messaging-rabbitmq/
关于使用RabbitMQ发送和接收消息。

JMS

https://spring.io/guides/gs/messaging-jms/
关于通过JMS发送和接收消息。

Google Cloud Pub / Sub

https://spring.io/guides/gs/messaging-gcp-pubsub/
关于使用Google Cloud Pub / Sub。该示例还使用Spring Integration。

推特

*新增2018/08
下方的链接在那里,但已从正式的《入门指南》列表中删除。 GitHub示例程序的项目名称也为deprecated,因此我觉得将来无法使用与Twitter相关的项目。

连接到应用程序

https://spring.io/guides/gs/register-twitter-app/
如何连接到Twitter应用程序...但是我觉得页面有问题。到GitHub的链接也无法正常工作。官方GitHub在这里。

存取资料

https://spring.io/guides/gs/accessing-twitter/
关于访问Twitter数据。只要查看文档,您还可以操纵时间轴和用户列表。

Neo4j

存取资料

https://spring.io/guides/gs/accessing-data-neo4j/
关于对图形数据库Neo4j的数据访问。

REST

https://spring.io/guides/gs/accessing-neo4j-data-rest/
关于REST访问Neo4j。

弹簧启动执行器

https://spring.io/guides/gs/actuator-service/
Spring Boot有一个名为Spring Boot Actuator的子项目,并且似乎通过合并它添加了各种端点,例如用于运行状况检查的端点。

批处理

https://spring.io/guides/gs/batch-processing/
关于Spring中的批处理。
执行一系列过程:从CSV进行数据采集→将值转换为大写→将值保存在DB中。

HATEOAS

https://spring.io/guides/gs/rest-hateoas/
HATEOAS的想法?关于创建整合的Restful API。

关键GemFire

存取资料

https://spring.io/guides/gs/accessing-data-gemfire/
关于使用Pivotal GemFire,它是内存中的数据网格。

数据缓存

https://spring.io/guides/gs/caching-gemfire/
关于缓存Pivotal GemFire数据。

REST

https://spring.io/guides/gs/accessing-gemfire-data-rest/
关于对Pivotal GemFire的REST访问。

EIP

https://spring.io/guides/gs/integration/
入门指南的标题为"集成数据"。
Spring的项目之一是Spring Integration,据我所知,这似乎是一个遵循EIP(企业集成模式)概念的框架。它用于以消息形式交换数据并将其与其他应用程序集成。

JPA

存取资料

https://spring.io/guides/gs/accessing-data-jpa/
关于JPA对DB的数据访问。

REST

https://spring.io/guides/gs/accessing-data-rest/
关于REST JPA的数据库访问。似乎仅通过添加专用注释就可以在不创建控制器的情况下工作。

MySQL

https://spring.io/guides/gs/accessing-data-mysql/
关于使用JPA访问MySQL的数据。

MongoDB

如何使用

https://spring.io/guides/gs/accessing-data-mongodb/
关于使用NoSQL MongoDB。

REST

https://spring.io/guides/gs/accessing-mongodb-data-rest/
关于REST访问MongoDB。

网页

创建了

https://spring.io/guides/gs/serving-web-content/
关于使用Spring框架创建网页。

表单输入验证

https://spring.io/guides/gs/validating-form-input/
如标题所示,关于表单输入的验证。

表格提交

https://spring.io/guides/gs/handling-form-submission/
关于表单提交。

执行异步处理

https://spring.io/guides/gs/async-method/
关于多线程处理的执行。

Web套接字

https://spring.io/guides/gs/messaging-stomp-websocket/
关于使用WebSocket。

angularJS

https://spring.io/guides/gs/using-rest-angularjs/
使用AngularJS时。

rest.js

https://spring.io/guides/gs/using-rest-restjs/
关于使用rest.js。或更确切地说,我无法通过搜索找出rest.js是什么,但是我想知道这是否是一个主要的。

的jQuery

https://spring.io/guides/gs/using-rest-jquery/
关于使用jQuery。

CORS

https://spring.io/guides/gs/rest-service-cors/
关于到CORS的对应。

YARN

使用Gradle

构建

https://spring.io/guides/gs/gradle-yarn/
关于使用YARN(Gradle)的构建。

由Maven

构建

https://spring.io/guides/gs/maven-yarn/
关于使用YARN(Maven)进行构建。

创建一个应用程序

https://spring.io/guides/gs/yarn-basic-single/
关于使用YARN创建简单的应用程序。

创建一个应用程序(多项目)

https://spring.io/guides/gs/yarn-basic/
关于使用YARN创建简单的应用程序。通过说与Hadoop的链接创建大约3个JAR,这很简单。

测试

https://spring.io/guides/gs/yarn-testing/
关于使用YARN测试应用程序。

批处理

https://spring.io/guides/gs/yarn-batch-processing/
关于使用YARN的应用程序中的批处理。

重新执行批处理

https://spring.io/guides/gs/yarn-batch-restart/
如何从使用YARN的应用程序失败的地方重新启动批处理。

SOAP

Web服务的使用

https://spring.io/guides/gs/standing-web-service/
如何使用基于SOAP的Web服务。

创建Web服务

https://spring.io/guides/gs/production-web-service/
这是创建基于SOAP的Web服务的方法。

快取

https://spring.io/guides/gs/caching/
关于数据缓存。看来您可以从缓存中获取方法等的执行结果。

云铸造

https://spring.io/guides/gs/sts-cloud-foundry-deployment/
如何使用STS将应用程序部署到PaaS之一的Cloud Foundry。

HashiCorp避难所

设定方法

https://spring.io/guides/gs/vault-config/
似乎有一个称为HashiCorp Vault的用于管理机密信息的应用程序,并描述了Spring使用该信息的设置方法。

数据访问

https://spring.io/guides/gs/accessing-vault/
关于上述HashiCorp保管库中的数据访问。

Web通量

https://spring.io/guides/gs/reactive-rest-service/
利用版本5中的新功能,似乎反应式编程可以创建非阻塞应用程序,与过去不同。
如果您不知道单词的含义,那么您将不知道它的含义,但关键是您可以用更少的线程执行高效的处理。
到目前为止,REST API的执行是RestTemplate,但是从版本5中添加了一个名为WebClient的类,用于与非阻塞应用程序进行通信,并介绍了如何使用它。

天青

https://spring.io/guides/gs/spring-boot-for-azure/
如何将Spring应用程序部署到Microsoft Azure。

负载均衡器

https://spring.io/guides/gs/client-side-load-balancing/
关于使用名为Netflix Ribbon的客户端负载平衡器的示例。似乎它将与Netflix Eureka结合使用,这将在后面进行描述。

路由

Zuul

https://spring.io/guides/gs/routing-and-filtering/
关于使用名为Netflix Zuul的库进行的请求路由和过滤。

Spring Cloud Gateway

https://spring.io/guides/gs/gateway/
使用Spring Cloud Gateway路由请求。在该示例中,介绍了一个使用Netflix开发的名为Hystrix的库时的示例(似乎它将处理连接的服务的失败)。
老实说,我不太了解该库的用途,但似乎经常将它与Zuul进行比较,因此它可能在同一类别中。
在Zuul 1时,阻塞API不支持WebSocket等,但是由于Spring Cloud Gateway是非阻塞API,因此它也支持WebSocket ...似乎是一种优势,但是Zuul 2似乎具有成为无阻塞的API,在其他方面有区别吗?

服务发现

https://spring.io/guides/gs/service-registration-and-discovery/
关于Netflix Eureka的使用,即服务发现(它似乎是注册所创建的服务并根据需要进行搜索的中间件)。

API文档

https://spring.io/guides/gs/testing-restdocs/
关于使用Spring REST Docs创建API文档。

测试

消费者驱动合同

https://spring.io/guides/gs/contract-rest/
消费者驱动的合同?关于。这似乎是在微服务中进行测试的想法。有一个名为Spring Cloud Contract的子项目,这是一个示例。

Web层测试

https://spring.io/guides/gs/testing-web/
关于Spring Framework测试的基础知识。通过简单的测试以查看服务器是否可以启动,我们正在测试API的运行而无需启动服务器。

断路器

https://spring.io/guides/gs/circuit-breaker/
关于Spring Cloud Gateway示例中也显示的Netflix Hystrix。停止相关服务时停止对其他相关服务的影响的机制。

Vaadin

https://spring.io/guides/gs/crud-with-vaadin/
关于Vaadin,这是使用Java的UI框架。在该示例中,JPA还用于创建允许DB操作的UI。

Redis

https://spring.io/guides/gs/spring-data-reactive-redis/
有一个在Redis中在Pub / Sub中使用Redis的示例,但是这里是一个示例,您可以通过正常地降低该值来获得它。

管理设置

https://spring.io/guides/gs/centralized-configuration/
通过启动Config Server并从客户端服务器引用它,可以将相同的设置动态地应用于多个客户端服务器……我认为。

Docker

https://spring.io/guides/gs/spring-boot-docker/
关于与每个人都喜欢的Docker的合作。

综上所述

  • 太多
  • 您可以通过浏览单词和查找不知道的单词来学习。
  • Spring Framework的基础是DI,但是与它们相关的注释的解释未包含在上面。我认为最好单独查找它们或查看官方参考,但是有很多...