[Java] Exemple de projet de développement d'applications Web avec Spring Boot

Il s'agit d'un modèle pour faire progresser le développement d'applications Web à l'aide de Java (Spring Boot). J'ai fait un exemple de projet ci-dessous. https://github.com/hrk-okd/spring-sample

Description du code source

Environnement de création

Concept de création de source

C'est un échantillon, donc ce n'est pas une pensée, mais la seule chose que j'ai écrite avec un point en tête est qu'il utilise la méthode DI avec "injection de constructeur".

Exemple de structure de bibliothèque de projet

La bibliothèque de l'exemple de projet est la suivante.


Source
https://github.com/hrk-okd/spring-sample/blob/0710e4585767eb3dc260054b57d7607a9543bb60/spring-mvc/build.gradle#L18-L44

dependencies {
    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot
    compile group: 'org.springframework.boot', name: 'spring-boot', version: '2.1.6.RELEASE'
    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter
    compile group: 'org.springframework.boot', name: 'spring-boot-starter', version: '2.1.6.RELEASE'
    // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.6.RELEASE'

    // https://mvnrepository.com/artifact/org.projectlombok/lombok
    compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.8'

    // junit 5
    // https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine
    testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.5.1'

    //mockito en général
    // https://mvnrepository.com/artifact/org.mockito/mockito-core
    testCompile group: 'org.mockito', name: 'mockito-core', version: '3.0.0'

    // mockito ExtendWith
    // https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiter
    testCompile group: 'org.mockito', name: 'mockito-junit-jupiter', version: '3.0.0'

    // mockito assertThat().isEqualTo
    // https://mvnrepository.com/artifact/org.assertj/assertj-core
    testCompile group: 'org.assertj', name: 'assertj-core', version: '3.13.0'
}

spring-boot/spring-boot-starter/spring-boot-starter-web Ceci est la bibliothèque de base. Si vous utilisez Spring Boot, n'y pensez pas trop. Si vous ne créez pas d'application Web, vous pouvez exclure en toute sécurité spring-boot-starter-web. |

lombok Annoter des classes et des méthodes avec @ Getetter et @ Setter élimine le besoin d'écrire des getters et des setters. C'est vraiment pratique.

Selon le site, vous ne souhaiterez peut-être pas installer de plug-ins supplémentaires. Cependant, je pense personnellement qu'il est essentiel de l'introduire sur tous les sites afin d'améliorer l'efficacité du développement.

junit-jupiter Ceci est une bibliothèque pour JUnit 5. JUnit4 a amélioré la difficulté de son utilisation, il est donc préférable de le supporter si possible.

mockito-core/mockito-junit-jupiter mockito est une bibliothèque utilisée pour les tests unitaires, et il est possible d'utiliser mock. Il existe plusieurs bibliothèques factices, mais je les incorpore parce que je pensais qu'il serait bon de les connaître sur le terrain.

Il est possible d'utiliser le mock sans le mockito-junit-jupiter. Cependant, vous pouvez utiliser les annotations @ ExtendWith disponibles dans cette bibliothèque pour simuler des champs en les annotant. Vous pouvez également réduire l'effort du code de test.

assertj-core Il s'agit également d'une bibliothèque utilisée pour les tests unitaires, et dispose d'une multitude d'assertions de méthodes de vérification et de méthodes associées. Il est possible de vérifier facilement des contenus difficiles à écrire avec un JUnit normal.

Résumé

Nous avons préparé un exemple de projet pour le développement avec Spring Boot.

Je pense que plus de bibliothèques seront nécessaires pour le développement réel, mais il est préférable de préparer un tel échantillon afin de configurer à partir du minimum et d'ajouter progressivement des fonctions. ..

Avec la montée en puissance de github ces dernières années, même les particuliers peuvent avoir et publier de nombreux référentiels. Je pense que l'entreprise préparera un référentiel, mais il est bon de préparer un référentiel personnel à l'avance afin que vous puissiez récupérer rapidement les informations nécessaires.

De nombreux ingénieurs résidents ne peuvent pas apporter leur propre PC, mais il est rare que l'acquisition de sources github soit limitée. Pour vous aider à travailler confortablement, téléchargez une source d'informations.

Recommended Posts

[Java] Exemple de projet de développement d'applications Web avec Spring Boot
Spring Boot: exemple de projet d'API Restful
[Java] Intégration LINE avec Spring Boot
Présentation de Spring Boot2, un framework Java pour le développement Web (pour les débutants)
Créer un projet Java Spring Boot avec IntelliJ
Démarrez le développement d'applications Web avec Spring Boot
Exécutez l'application WEB avec Spring Boot + Thymeleaf
Mémo personnel Run Spring Boot + Projet Web Gradle avec Codenvy (Eclipse Che)
Exécutez l'application Scala avec Spring Boot via Gradle
Créez des projets Spring Boot par environnement avec Gradle
Conseils Java - Créez un projet Spring Boot avec Gradle
[Java] Hello World avec Java 14 x Spring Boot 2.3 x JUnit 5 ~
[Rails] Création d'un environnement pour le développement d'applications Web
[Java] Article pour ajouter une validation avec Spring Boot 2.3.1.
Créer un serveur API Web avec Spring Boot
Télécharger avec Spring Boot
Paramètres de connexion à MySQL avec Spring Boot + Spring JDBC
[Java] [Spring Boot] Spécifier le profil d'exécution --Spring Boot à partir de NetBeans
[Spring Boot] Comment créer un projet (pour les débutants)
[Java] Procédure de construction de l'environnement pour le développement de struts 1.3 avec Eclipse
[Java / Kotlin] Traitement d'échappement (désinfection) pour HTML5 avec unbescape [Spring Boot]
Générer un code à barres avec Spring Boot
Changez la cible d'injection pour chaque environnement avec Spring Boot 2
Implémenter GraphQL avec Spring Boot
Gérez l'API de date et d'heure Java 8 avec Thymeleaf avec Spring Boot
Démarrez avec Spring Boot
Bonjour tout le monde avec Spring Boot!
[Spring Boot] Création d'applications Web
Exécutez LIFF avec Spring Boot
Connexion SNS avec Spring Boot
Préparation au développement avec Rails
[Java] Thymeleaf Basic (Spring Boot)
Téléchargement de fichiers avec Spring Boot
Spring Boot commençant par copie
Exemple d'application Web qui gère plusieurs bases de données avec Spring Boot 1.5
Application Java CICS-Run - (4) Application Spring Boot
Utilisation de Mapper avec Java (Spring)
Spring Boot à partir de Docker
Définir des cookies avec Spring Boot
Utiliser Spring JDBC avec Spring Boot
Ajouter un module avec Spring Boot
Premiers pas avec Spring Boot
Développement piloté par domaine avec Java et Spring Boot-Layer et division de modules
Envoyer du courrier avec Spring Boot
Spring Boot pour l'apprentissage des annotations
Implémentez un serveur API Web REST simple avec Spring Boot + MySQL
Créons une application Web de gestion de livres avec Spring Boot part1
Comment créer un hinadan pour un projet Spring Boot à l'aide de SPRING INITIALIZR
Créons une application Web de gestion de livres avec Spring Boot part3
Créons une application Web de gestion de livres avec Spring Boot part2
Comparez Hello, world! Avec Spring Boot avec Java, Kotlin et Groovy
[Pour les débutants] Exemple minimum pour mettre à jour RecyclerView avec DiffUtils en Java
Exemple de code pour le test unitaire d'un contrôleur Spring Boot avec MockMvc
Utiliser l'authentification de base avec Spring Boot
Construire un projet Java avec Gradle
gRPC sur Spring Boot avec grpc-spring-boot-starter
Créez une application avec Spring Boot 2
Déploiement à chaud avec le développement Spring Boot
Liaison de base de données avec doma2 (Spring boot)