[JAVA] Introduction à Ratpack (2) -Architecture

Série d'introduction Ratpack

  1. Introduction à Ratpack (1) - Qu'est-ce que Ratpack
  2. Introduction à Ratpack (2) --Architecture
  3. Introduction à Ratpack (3) - Explication détaillée de Hello world
  4. Introduction à Ratpack (4) --Routage et contenu statique
  5. Introduction à Ratpack (5) --Json & Registry
  6. Introduction à Ratpack (6) - Promise
  7. Introduction à Ratpack (7) --Guice & Spring
  8. Introduction à Ratpack (8) - Session
  9. Introduction à Ratpack (9) --Thymeleaf

Architecture Ratpack

Voici un aperçu des principales classes Ratpack. Sera ajouté à tout moment.

RatpackServer

C'est la classe de base pour démarrer le serveur.

ServerConfig

Une classe qui organise les paramètres (ports, etc.) liés au serveur.

Service

Une interface qui fournit des hooks dans le cycle de vie d'un serveur Ratpack. Notez qu'il existe une interface avec le même nom qui est «@ obsolète».

Registry

Une classe utilisée pour transmettre des informations entre les gestionnaires. ... cela ne semble pas très important d'écrire ceci, mais le serveur lui-même obtient également chaque dépendance via Registry ( server registry dans le manuel officiel). Par conséquent, chaque fonction telle que Handler lui-même et Renderer est acquise via Registry, qui est une classe importante qui prend en charge la flexibilité de Ratpack.

Une extension (https://ratpack.io/manual/current/guice.html) utilisant Google Guice est disponible.

Action

C'est une interface fonctionnelle à usage général pour le réglage, etc. Par exemple, RatpackServer.start () prend ʻAction comme argument, et RatpackServerSpec.handlers () prend ʻAction <Chain> comme argument.

Chain

Une classe qui regroupe plusieurs gestionnaires ensemble. Il achemine également chaque gestionnaire.

Handler

Une interface fonctionnelle avec une méthode handle (Context) qui modélise la réception d'une requête et le retour d'une réponse. Est-ce quelque chose comme «HttpServlet» de Java EE en tant qu'image? Nous allons créer une réponse en décrivant le processus dans le "Contexte" passé.

Context

Une classe qui fournit le "contexte" qui accompagne chaque appel de "Handler". Des informations telles que les requêtes HTTP sont également détenues par cet objet. En appelant Context.render (Object), le contenu de la réponse retournée sera créé.

Promise

Une classe qui prend en charge le traitement asynchrone. Similaire à JavaScript Promise. Un article de commentaire détaillé sera créé.

Operation

Cette version ne renvoie pas la valeur de «Promise».

Blocking

Une classe utilitaire pour créer «Promise» et «Opération». Il est utilisé lors du blocage des E / S.

Session

Vous avez besoin de ratpack-session. Une classe pour soutenir les sessions de communication Ratpack. Récupérez-le depuis Registry.get ().

BaseDir Une classe utilisée pour servir des actifs statiques.

Recommended Posts

Introduction à Ratpack (2) -Architecture
Introduction à Ratpack (8) - Session
Introduction à Ratpack (6) - Promesse
Introduction à Ratpack (7) --Guice & Spring
Introduction à Ratpack (1) - Qu'est-ce que Ratpack?
Introduction à Ruby 2
Introduction à web3j
Introduction à Micronaut 1 ~ Introduction ~
[Java] Introduction à Java
Introduction à Java
Introduction à Doma
Introduction à Ratpack (3) - Explication détaillée de Hello World
Introduction à Ratpack (Extra Edition) --Ratpack écrit en Kotlin
Introduction aux fichiers JAR
Introduction à l'arithmétique des bits
Introduction à PlayFramework 2.7 ① Présentation
Introduction à la mise en page Android
Introduction à la programmation pratique
Introduction à la commande javadoc
Introduction à la commande jar
Introduction au style lambda
Introduction à la commande java
Introduction au développement de Keycloak
Introduction à la commande javac
Introduction aux modèles de conception (Builder)
Introduction au développement d'applications Android
Introduction à la métabase ~ Construction de l'environnement ~
(Installation par points) Introduction à Java8_Impression
Introduction aux modèles de conception (composite)
Introduction à Micronaut 2 ~ Test unitaire ~
Introduction à JUnit (note d'étude)
Introduction à Spring Boot ① ~ DI ~
[Java] Introduction à l'expression lambda
Introduction à Apache Beam (2) ~ ParDo ~
Introduction à l'API EHRbase 2-REST
Introduction au prototype de modèles de conception
[Java] Introduction à l'API Stream
Introduction aux modèles de conception (Iterator)
Introduction à Spring Boot, partie 1
Introduction aux modèles de conception (stratégie)
[Introduction aux jeux Janken (comme)] Java
Introduction à Linux Container / Docker (Partie 1)
Introduction à la pratique rapide Chapitre 5
[Introduction à Java] À propos des expressions lambda
Introduction aux algorithmes avec somme cumulée Java
[Introduction à Java] À propos de l'API Stream
Introduction à la programmation fonctionnelle (Java, Javascript)
Introduction aux modèles de conception (méthode d'usine)
Introduction à Linux Container / Docker (Partie 2)
Introduction aux modèles de conception (Abstract Factory)