[JAVA] Zusammenfassung der Grundeinstellungen für Spring Boot, Doma2, Gradle

Am Anfang

Ich bin immer süchtig nach den Anfangseinstellungen von Spring Boot + Doma2 + Gradle, wenn ich mit Eclipse entwickle, also werde ich es für mich selbst zusammenfassen.

Umgebung

Einrichtungsschritte

(Optional) Erstellen Sie eine Anwendungsvorlage mit Spring Initializer

image-01.png

image-02.png

Fügen Sie eine Abhängigkeit von Doma2 hinzu

build.gradle


dependencies {
  // ...Kürzung
  implementation 'org.seasar.doma.boot:doma-spring-boot-starter:1.4.0'
  annotationProcessor 'org.seasar.doma:doma-processor:2.35.0'
}

Richten Sie Eclipse ein

Fügen Sie Plugins in build.gradle ein Plugin für Eclipse-Einstellungen hinzu.

build.gradle


plugins {
  // ...Kürzung
  id 'com.diffplug.eclipse.apt' version '3.23.0'
}

Führen Sie "Gradle Eclipse" aus, um die Einstellungen widerzuspiegeln.

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

BUILD SUCCESSFUL in 16s
5 actionable tasks: 5 executed

Es kann bestätigt werden, dass die Eclipse-Einstellungen (Anmerkungsverarbeitung) abgeschlossen wurden.

image-03.png

image-04.png

Erstellen Sie eine einfache API

Laut der README-Datei von https://github.com/domaframework/doma-spring-boot/tree/1.4.0 Und im Grunde schaffen.

Entität definieren

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;
}

Dao-Schnittstelle definieren

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);
}

Setzen Sie den Cursor auf ReservationDao # selectAll und klicken Sie mit der rechten Maustaste auf> Doma> Zur SQL-Datei springen, um eine leere SQL-Datei zu generieren. (Wenn Sie das Doma Tools-Plug-In zu Eclipse hinzugefügt haben)

Schreiben Sie eine Abfrage in eine SQL-Datei

selectAll.sql


SELECT
  id,
  name
FROM reservation
ORDER BY name ASC

Definieren Sie Service- und Controller-Klassen

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);
	}

}

Erstellen Sie beim Start eine Reservierungstabelle

Wir verwenden eine von Java erstellte In-Memory-Datenbank namens HSQLDB. Wenn Sie schema.sql direkt unter src / main / resources platzieren, können Sie das Skript zur Tabellenerstellung beim Start ausführen.

schema.sql


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

API-Funktionsprüfung

POST (Registrierung)

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

{
  "id": 1,
  "name": "Probe A."
}

Antwort;

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

1

GET (alles bekommen)

GET http://localhost:8080 HTTP/1.1

Antwort;

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": "Probe A."
  }
]

(Ergänzung) Wenn ein DOMA4019-Fehler auftritt

Für den Fall, dass der absolute Pfad der SQL-Datei nicht wie erwartet ist und der DOMA4019-Fehler auftritt, wie unten gezeigt.

[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".

Klicken Sie im Zielprojekt mit der rechten Maustaste auf> Eigenschaften> Java-Erstellungspfad ändern.

image-05.png

Projektstandard-Ausgabeordner ⇒ Geändert zu einem bestimmten Ausgabeordner (bin / main).

image-06-01.png

Am Ende

Die erstellte Anwendung wurde in Repository gespeichert. Sehen Sie, ob Sie die volle Menge von "build.gradle" sehen möchten.

Referenz

Recommended Posts

Zusammenfassung der Grundeinstellungen für Spring Boot, Doma2, Gradle
Spring Boot 2.2 Dokumentzusammenfassung
Spring Boot 2 Multiprojekt mit Gradle
Spring Boot Externe Einstellungspriorität
◆ Konstruktionsnotiz für Spring Boot + Gradle-Umgebung
Datenbankverknüpfung mit doma2 (Spring Boot)
Implementieren Sie die Spring Boot-Anwendung in Gradle
Erstellen Sie mit Gradle ein Spring Boot + Docker-Image
(IntelliJ + gradle) Hallo Welt mit Spring Boot
Fügen Sie Frühlingsstiefel und Gradle zur Sonnenfinsternis hinzu
Zusammenfassung dessen, was ich über Spring Boot gelernt habe
Führen Sie die Scala-Anwendung mit Spring Boot über Gradle aus
Fordern Sie Spring Boot heraus
Erstellen Sie mit Gradle Spring Boot-Projekte nach Umgebung
Java-Tipps - Erstellen Sie mit Gradle ein Spring Boot-Projekt
Spring Boot Form
Ich wollte Spring Boot in einem Multiprojekt gradle
Spring Boot Denken Sie daran
gae + frühlingsstiefel
Zeigen Sie die Gradle-Aufgabe im Spring Boot-Projekt an
Ein Memorandum über die Sucht nach Spring Boot2 x Doma2
Schreiben von Frühlingsstiefel-Memos (1)
Erster Frühlingsstiefel (DI)
SPRING BOOT Lernprotokoll 02
Spring Boot2 Spickzettel
Spring Boot-Ausnahmebehandlung
Spring Boot Servlet-Zuordnung
Spring Boot Entwicklung-Entwicklungsumgebung-
Spring Boot lernen [Anfang]
Schreiben von Spring Boot-Memos (2)
[Spring Boot] DataSourceProperties $ DataSourceBeanCreationException
Spring Boot 2.3 Verfügbarkeit von Anwendungen
Spring Boot Tutorials Themen
Mit Spring Boot herunterladen
Ausführen der Erstverarbeitung mit Spring Boot Command Line Runner