[JAVA] Résumé des paramètres initiaux pour Spring Boot, Doma2, Gradle

Au début

Je suis toujours accro aux paramètres initiaux de Spring Boot + Doma2 + Gradle lors du développement avec Eclipse, je vais donc le résumer moi-même.

environnement

Etapes de configuration

(Facultatif) Créez un modèle d'application avec Spring Initializer

image-01.png

image-02.png

Ajouter une dépendance sur Doma2

build.gradle


dependencies {
  // ...réduction
  implementation 'org.seasar.doma.boot:doma-spring-boot-starter:1.4.0'
  annotationProcessor 'org.seasar.doma:doma-processor:2.35.0'
}

Configurer Eclipse

Ajoutez un plugin pour les paramètres Eclipse aux plugins dans build.gradle.

build.gradle


plugins {
  // ...réduction
  id 'com.diffplug.eclipse.apt' version '3.23.0'
}

Exécutez gradle eclipse pour refléter les paramètres.

$ ./gradlew eclipse
Starting a Gradle Daemon (subsequent builds will be faster)

BUILD SUCCESSFUL in 16s
5 actionable tasks: 5 executed

Il peut être confirmé que les paramètres Eclipse (traitement des annotations) sont terminés.

image-03.png

image-04.png

Créez une API simple

Selon le README de https://github.com/domaframework/doma-spring-boot/tree/1.4.0 Et en gros, créez-le.

Définir l'entité

Reservation.java


package com.example.demo;

import org.seasar.doma.Entity;

import lombok.Data;

@Data
@Entity
public class Reservation {

	private Integer id;

	private String name;
}

Définir l'interface Dao

ReservationDao.java


package com.example.demo;

import java.util.List;

import org.seasar.doma.Dao;
import org.seasar.doma.Insert;
import org.seasar.doma.Select;
import org.seasar.doma.boot.ConfigAutowireable;
import org.springframework.transaction.annotation.Transactional;

@ConfigAutowireable
@Dao
public interface ReservationDao {

	@Select
	public List<Reservation> selectAll();

	@Insert
	@Transactional
	public int insert(Reservation reservation);
}

Placez le curseur sur ReservationDao # selectAll et cliquez avec le bouton droit de la souris sur> Doma> Aller au fichier SQL pour générer un fichier SQL vide. (Si vous avez ajouté le plug-in Doma Tools à Eclipse)

Ecrire une requête dans un fichier SQL

selectAll.sql


SELECT
  id,
  name
FROM reservation
ORDER BY name ASC

Définir les classes de service et de contrôleur

ReservationService.java


package com.example.demo;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class ReservationService {

	@Autowired
	private ReservationDao reservationDao;

	public List<Reservation> selectAll() {
		return reservationDao.selectAll();
	}

	public int insert(Reservation reservation) {
		return reservationDao.insert(reservation);
	}
}

ReservationController.java


package com.example.demo;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ReservationController {

	@Autowired
	private ReservationService reservationService;

	@GetMapping(path = "/")
	public List<Reservation> selectAll() {
		return reservationService.selectAll();
	}

	@PostMapping(path = "/")
	public int insert(@RequestBody Reservation reservation) {
		return reservationService.insert(reservation);
	}

}

Créer une table Réservation au démarrage

Nous utilisons une base de données en mémoire Java appelée HSQLDB. Si vous placez schema.sql directement sous src / main / resources, vous pouvez exécuter le script de création de table au démarrage.

schema.sql


CREATE TABLE reservation (
  id   IDENTITY,
  NAME VARCHAR(50)
);

Vérification du fonctionnement de l'API

POST (inscription)

POST http://localhost:8080 HTTP/1.1
Content-Type: application/json

{
  "id": 1,
  "name": "Échantillon A"
}

réponse;

HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 12 Jul 2020 15:09:30 GMT
Connection: close

1

GET (obtenir tout)

GET http://localhost:8080 HTTP/1.1

réponse;

HTTP/1.1 200 
Content-Type: application/json
Transfer-Encoding: chunked
Date: Sun, 12 Jul 2020 15:10:20 GMT
Connection: close

[
  {
    "id": 1,
    "name": "Échantillon A"
  }
]

(Supplément) Lorsqu'une erreur DOMA4019 se produit

Dans le cas où le chemin absolu du fichier SQL n'est pas comme prévu et où l'erreur DOMA4019 se produit, comme indiqué ci-dessous.

[DOMA4019] The file "META-INF/com/example/demo/ReservationDao/selectAll.sql" is not found in the classpath. The absolute path is "C:\Git\springboot-doma2-sample\bin\main\META-INF\com\example\demo\ReservationDao\selectAll.sql".

Sur le projet cible, cliquez avec le bouton droit de la souris> Propriétés> Modifier le chemin de construction Java.

image-05.png

Dossier de sortie par défaut du projet ⇒ Modifié dans un dossier de sortie spécifique (bin / main).

image-06-01.png

À la fin

L'application créée a été stockée dans Repository. Voyez si vous voulez voir la quantité totale de build.gradle.

référence

Recommended Posts

Résumé des paramètres initiaux pour Spring Boot, Doma2, Gradle
Résumé du document Spring Boot 2.2
Multi-projets Spring Boot 2 avec Gradle
Priorité de réglage externe Spring Boot
◆ Spring Boot + note de construction de l'environnement gradle
Liaison de base de données avec doma2 (Spring boot)
Implémenter l'application Spring Boot dans Gradle
Créer une image Spring Boot + Docker avec Gradle
(IntelliJ + gradle) Hello World avec Spring Boot
Ajoutez une botte de printemps et un dégradé à éclipse
Résumé de ce que j'ai appris sur Spring Boot
Exécutez l'application Scala avec Spring Boot via Gradle
Défi Spring Boot
Créez des projets Spring Boot par environnement avec Gradle
Conseils Java - Créez un projet Spring Boot avec Gradle
Forme de botte de printemps
Je voulais classer la botte à ressort dans un multi-projet
Spring Boot Rappelez-vous
gae + botte à ressort
Afficher la tâche Gradle dans le projet Spring Boot
Un mémorandum de dépendance à Spring Boot2 x Doma2
Rédaction de mémo de démarrage de printemps (1)
Première botte à ressort (DI)
Fiche d'apprentissage SPRING BOOT 02
Aide-mémoire Spring Boot2
Gestion des exceptions Spring Boot
Mappage du servlet Spring Boot
Environnement de développement-développement Spring Boot-
Apprentissage de Spring Boot [Début]
Rédaction de mémos de démarrage de printemps (2)
[Spring Boot] DataSourceProperties $ DataSourceBeanCreationException
Disponibilité de l'application Spring Boot 2.3
Tutoriels Spring Boot Sujets
Télécharger avec Spring Boot
Exécution du traitement initial à l'aide de Spring Boot Command Line Runner