I tried to learn the Spring Framework, but I took a look at the Official Start Guide, but the number was messed up. Actually, I was thinking of actually doing everything, but I was frustrated, and even the categorization seemed halfway, but I passed the first pass, so I summarized it for a memorial service. The contents are as of June 2018.
https://spring.io/guides/gs/spring-boot/ About the basic contents of building Spring Boot. It is treated in the same line as other start guides, but I think you can read it first.
IDE Spring Tool Suite https://spring.io/guides/gs/sts/ About Spring Tool Suite, an IDE for Spring Framework.
IntelliJ IDEA https://spring.io/guides/gs/intellij-idea/ How to use IntelliJ IDEA. Ultimate Edition seems to work with the Spring Framework, but it's probably paid.
REST API
https://spring.io/guides/gs/rest-service/ How to make an API that returns JSON in HTTP GET request. I haven't touched on the creation of API by POST request, so I need to investigate it separately.
https://spring.io/guides/gs/consuming-rest/
A simple REST API execution method using the RestTemplate
class.
https://spring.io/guides/gs/scheduling-tasks/
How to implement when you want to execute tasks at regular intervals.
The sample uses fixedRate
(runs tasks at regular intervals regardless of whether the running task has completed), but it also uses fixedDelay
(which runs after the running task completes). Wait for a while to execute the next task) and cron
.
Gradle https://spring.io/guides/gs/gradle/ Build with Gradle. Maven https://spring.io/guides/gs/maven/ Build by Maven.
https://spring.io/guides/gs/convert-jar-to-war/ About creating a WAR file.
https://spring.io/guides/gs/multi-module/ How to build multiple projects.
DB
https://spring.io/guides/gs/relational-data-access/
How to connect to RDB using JdbcTemplate
class.
https://spring.io/guides/gs/managing-transactions/ As the name implies, DB transaction management.
https://spring.io/guides/gs/uploading-files/
How to upload a file.
There are places where only the interface is displayed as an example, so if you want to move it for the time being, it is better to refer to Official GitHub ..
I also use the MockMvcRequestBuilders.fileUpload
method in my test code, but it's [not recommended anymore](https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/test/ It looks like web / servlet / request / MockMvcRequestBuilders.html # fileUpload-java.net.URI-), so instead [MockMvcRequestBuilders.multipart
](https://docs.spring.io/spring-framework/docs/current /javadoc-api/org/springframework/test/web/servlet/request/MockMvcRequestBuilders.html#multipart-java.net.URI-) It seems good to use the method. I wonder if it hasn't been updated with Anma-chan ...
https://spring.io/guides/gs/authenticating-ldap/
About LDAP authentication.
It seems that the modified contents of ʻapplication.propertiesare omitted, so [Official GitHub](https://github.com/spring-guides/gs-authenticating-ldap) is helpful for that point. User information is managed in a file for testing, and
LdapShaPasswordEncoder` (classes that have already been deprecated for password encoding. Since docs / current / api / org / springframework / security / crypto / password / LdapShaPasswordEncoder.html)) is used, it seems that more research is needed when using it in production.
https://spring.io/guides/gs/securing-web/ I'm creating a page that can only be viewed by users who have been authenticated using Spring Security.
Facebook
** * 2018/08 postscript **
The link below was there, but it was removed from the official Start Guide list. The GitHub sample program also has a project name of deprecated
, so I feel that Facebook-related projects cannot be used in the future.
~~https://spring.io/guides/gs/register-facebook-app/
Connecting to a Facebook application using the FacebookTemplate
class. There is a sample on Official GitHub. ~~
~~https://spring.io/guides/gs/accessing-facebook/ About accessing Facebook data. In the example, the feed information is obtained, but [as far as the document is viewed](https://docs.spring.io/spring-social-facebook/docs/current/apidocs/org/springframework/social/facebook/api/ Facebook.html) Like, pick up friend information and so on. ~~
Pub/Sub Redis https://spring.io/guides/gs/messaging-redis/ Redis is known as a NoSQL database, but it seems that it can also send and receive messages. The sample summarizes sending and receiving the message.
RabbitMQ https://spring.io/guides/gs/messaging-rabbitmq/ About sending and receiving messages using RabbitMQ.
JMS https://spring.io/guides/gs/messaging-jms/ About sending and receiving messages by JMS.
Google Cloud Pub/Sub https://spring.io/guides/gs/messaging-gcp-pubsub/ About using Google Cloud Pub / Sub. The sample also uses Spring Integration.
Twitter
** * 2018/08 postscript **
The link below was there, but it was removed from the official Start Guide list. The GitHub sample program also has a project name of deprecated
, so I feel that Twitter-related projects cannot be used in the future.
~~https://spring.io/guides/gs/register-twitter-app/ How to connect to the Twitter application ... But I feel that the page is buggy. The link to GitHub isn't working well either. For the time being, the official GitHub is here. ~~
~~https://spring.io/guides/gs/accessing-twitter/ About access to Twitter data. As far as the document is viewed Manipulating the timeline and user list I think I can do something. ~~
Neo4j
https://spring.io/guides/gs/accessing-data-neo4j/ About data access to the graph database Neo4j.
REST https://spring.io/guides/gs/accessing-neo4j-data-rest/ About access to Neo4j by REST.
Spring Boot Actuator https://spring.io/guides/gs/actuator-service/ Spring Boot has a subproject called Spring Boot Actuator, and health check by incorporating this. It seems that various endpoints such as endpoints will be added.
https://spring.io/guides/gs/batch-processing/ About batch processing in Spring. A series of processes are executed: data acquisition from CSV → conversion of value to uppercase → save value in DB.
HATEOAS https://spring.io/guides/gs/rest-hateoas/ The idea of HATEOAS? About creating a Restful API that incorporates.
Pivotal GemFire
https://spring.io/guides/gs/accessing-data-gemfire/ About using Pivotal GemFire, which is an in-memory data grid.
https://spring.io/guides/gs/caching-gemfire/ About caching Pivotal GemFire data.
REST https://spring.io/guides/gs/accessing-gemfire-data-rest/ About REST access to Pivotal GemFire.
EIP https://spring.io/guides/gs/integration/ The title of the start guide is "Integrating Data". One of Spring's projects is Spring Integration, which seems to be a framework that follows the concept of EIP (Enterprise Integration Patterns) as far as I can see. It is used to exchange data as messages and integrate it with other applications.
JPA
https://spring.io/guides/gs/accessing-data-jpa/ About data access to DB by JPA.
REST https://spring.io/guides/gs/accessing-data-rest/ About DB access by REST + JPA. It seems that it works without creating a controller just by adding a dedicated annotation.
MySQL https://spring.io/guides/gs/accessing-data-mysql/ About data access to MySQL using JPA.
MongoDB
https://spring.io/guides/gs/accessing-data-mongodb/ About using MongoDB which is NoSQL.
REST https://spring.io/guides/gs/accessing-mongodb-data-rest/ About access to MongoDB by REST.
https://spring.io/guides/gs/serving-web-content/ About creating web pages with the Spring framework.
https://spring.io/guides/gs/validating-form-input/ As the title suggests, about validation of form input.
https://spring.io/guides/gs/handling-form-submission/ About form submission.
https://spring.io/guides/gs/async-method/ About execution of processing by multithread.
WebSocket https://spring.io/guides/gs/messaging-stomp-websocket/ About using WebSocket.
AngularJS https://spring.io/guides/gs/consuming-rest-angularjs/ When using AngularJS.
rest.js https://spring.io/guides/gs/consuming-rest-restjs/ About using rest.js. Or rather, I couldn't figure out what rest.js was when I searched for it, but I wonder if it's a major one.
jQuery https://spring.io/guides/gs/consuming-rest-jquery/ About using jQuery.
CORS https://spring.io/guides/gs/rest-service-cors/ About correspondence to CORS.
YARN
https://spring.io/guides/gs/gradle-yarn/ About build using YARN (Gradle).
https://spring.io/guides/gs/maven-yarn/ About build using YARN (Maven).
https://spring.io/guides/gs/yarn-basic-single/ About creating a simple application using YARN.
https://spring.io/guides/gs/yarn-basic/ About creating a simple application using YARN. About 3 JARs are created by linking with Hadoop while saying that it is simple.
https://spring.io/guides/gs/yarn-testing/ About testing for applications using YARN.
https://spring.io/guides/gs/yarn-batch-processing/ About batch processing in applications using YARN.
https://spring.io/guides/gs/yarn-batch-restart/ How to restart batch processing from where the application using YARN failed.
SOAP
https://spring.io/guides/gs/consuming-web-service/ How to use SOAP-based Web services.
https://spring.io/guides/gs/producing-web-service/ Here's how to create a SOAP-based web service.
https://spring.io/guides/gs/caching/ About data caching. It seems that you can get the execution result of the method etc. from the cache.
Cloud Foundry https://spring.io/guides/gs/sts-cloud-foundry-deployment/ How to deploy an application to Cloud Foundry, which is one of PaaS, using STS.
HashiCorp Vault
https://spring.io/guides/gs/vault-config/ There seems to be an application for managing confidential information called HashiCorp Vault, and the setting method for using it from Spring is described.
https://spring.io/guides/gs/accessing-vault/ About data access in the above HashiCorp Vault.
WebFlux
https://spring.io/guides/gs/reactive-rest-service/
With the new function from Version 5, it seems that it is possible to create non-blocking applications unlike the past by reactive programming.
If you don't know the meaning of the word, you won't know what it is, but the point is that you can execute efficient processing with fewer threads.
There was RestTemplate
in the execution of REST API so far, but a class called WebClient
has been added from Version 5 for communication with non-blocking applications, and how to use it is also described.
Azure https://spring.io/guides/gs/spring-boot-for-azure/ How to deploy a Spring application to Microsoft Azure.
https://spring.io/guides/gs/client-side-load-balancing/ About an example using a client-side load balancer called Netflix Ribbon. [See below](/ nulltemp / items / 22655c8dde1fe23c1297 # Service Discovery) seems to be used in conjunction with Netflix Eureka.
Zuul https://spring.io/guides/gs/routing-and-filtering/ About request routing & filtering using a library called Netflix Zuul.
Spring Cloud Gateway https://spring.io/guides/gs/gateway/ Routing requests using Spring Cloud Gateway. The sample shows an example of using a library called Hystrix developed by Netflix (it seems that it will deal with a failure in the connected service). To be honest, I don't really understand the purpose of the library, but it seems that it is often compared with Zuul, so it's probably in the same category. At the time of Zuul 1, the blocking API does not support WebSocket etc., but since Spring Cloud Gateway is a non-blocking API, it also supports WebSocket ... It seems that it was a strength / 47092048 / how-spring-cloud-gateway-is-different-from-zuul), but Zuul 2 seems to be a non-blocking API, so I wonder if it differentiates in other ways.
https://spring.io/guides/gs/service-registration-and-discovery/ About the use of Netflix Eureka, which is service discovery (it seems to be middleware that registers the created service and searches it as needed).
https://spring.io/guides/gs/testing-restdocs/ About creating API documentation using Spring REST Docs.
Consumer Driven Contract https://spring.io/guides/gs/contract-rest/ Consumer driven contract? about. It seems to be the idea of testing in microservices. There is a subproject called Spring Cloud Contract, which is an example.
https://spring.io/guides/gs/testing-web/ About the basics of Spring Framework testing. From a simple test to see if the server can be started, we are testing the operation of the API without starting the server.
Circuit Breaker https://spring.io/guides/gs/circuit-breaker/ About Netflix Hystrix that appeared in [Spring Cloud Gateway sample](/ nulltemp / items / 22655c8dde1fe23c1297 # spring-cloud-gateway). A mechanism to stop the impact on other related services when the related service is stopped.
Vaadin https://spring.io/guides/gs/crud-with-vaadin/ About Vaadin, a UI framework that uses Java. In the sample, JPA is also used to create a UI that allows DB operations.
Redis https://spring.io/guides/gs/spring-data-reactive-redis/ There was also [Example when using Redis](/ nulltemp / items / 22655c8dde1fe23c1297 # redis) in Pub / Sub, but here is a sample when you get it by plunging the value normally.
https://spring.io/guides/gs/centralized-configuration/ By launching Config Server and referencing it from the client server, the same settings can be dynamically applied to multiple client servers ... I think.
Docker https://spring.io/guides/gs/spring-boot-docker/ About cooperation with Docker that everyone loves.
Recommended Posts