[JAVA] Ein Memorandum über die Sucht nach Spring Boot2 x Doma2

Über diese Seite

Ich war ein wenig süchtig nach der Entwicklung mit Spring Boot2 x Doma2, daher werde ich es als Memorandum behalten.

Unsere Spezifikationen

Spring Boot 2.1.7 Java11 IntelliJ 2018.3 DOMA doma-spring-boot-starter:1.1.1 MySQL 5.7 gradle 5.4.1

[DOMA4019] SQL-Datei nicht im Klassenpfad gefunden

Dieser Fehler kann auch dann auftreten, wenn die SQL-Datei die richtige Verzeichnisstruktur aufweist (siehe unten).

Beispiel) - Der Speicherort der SQL-Datei ist korrekt UserRepostory findOne-Methode src/main/xxx/domain/repository/UserResotiory.java src/main/resources/META-INF/xxx/domain/repository/UserResotiory/findOne.sql

Lösung)

Fügen Sie build.gradle Folgendes hinzu

processResources.destinationDir = compileJava.destinationDir
compileJava.dependsOn processResources

Referenz: https://github.com/domaframework/simple-boilerplate/blob/master/build.gradle

Ich werde wütend, wenn ich die Repository (Dao) -Schnittstelle zum Zeitpunkt der Erstellung nicht implementiere

Der folgende Fehler required a bean of type xxxxxRepository that could not be found. Consider defining a bean of type xxxxxx

Lösung)

  1. Es wird davon ausgegangen, dass die folgenden Einstellungen in IntellJ vorgenommen werden (dies sollte erfolgen, wenn Lombok enthalten ist). In Einstellungen> Erstellen, Ausführen, Bereitstellen> Anmerkungsprozessoren Aktivieren Sie die Option Anmerkungsverarbeitung aktivieren

  2. Fügen Sie der Repository-Schnittstelle (Dao) die Annotation ConfigAutowireable hinzu

Wie erstelle ich DomaConfig?

Wenn Sie auch bei einer unbekannten Spalte durchgehen möchten, müssen Sie die Config-Klasse von Doma erstellen und UnknownColumnHandler überschreiben. (Es sollte andere Fälle geben, in denen Config erforderlich ist.) Im offiziellen Dokument steht die Methode zur Verwendung von SingletonConfig ganz oben. Im Fall von Spring Boot ist jedoch eine erweiterte Methode erforderlich, die dem Framework entspricht.

Lösungsbeispiel)

DomaConfig.java


@Configuration
public class DomaConfig implements Config {


    @Autowired
    private DomaAutoConfiguration domaAutoConfiguration;

    @Autowired
    private DataSource dataSource;

    @Override
    public DataSource getDataSource() {
        return dataSource;
    }

    @Override
    public UnknownColumnHandler getUnknownColumnHandler() {
        return new UnknownColumnHandler() {
            @Override
            public void handle(Query query, EntityType<?> entityType, String unknownColumnName) {
                //Überschreiben und zerdrücken
            }
        };
    }

    @Override
    public Dialect getDialect() {
        return domaAutoConfiguration.dialect();
    }

    @Bean
    @Primary
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource primaryDataSource(DataSourceProperties properties) {
        return properties.initializeDataSourceBuilder().build();
    }
}

Bemerkungen

Ich denke, mein Batis ist für Spring Boot 2 ORM üblich, aber ich habe aus den folgenden Gründen versucht, Doma 2 zu verwenden.

  1. Ich möchte Java und SQL trennen
  2. Sie müssen kein XML schreiben

Recommended Posts

Ein Memorandum über die Sucht nach Spring Boot2 x Doma2
WebMvcConfigurer-Memorandum von Spring Boot 2.0 (Spring 5)
Spring Boot Denken Sie daran
Die Geschichte der Erhöhung der Spring Boot 1.5-Serie auf die 2.1-Serie
So fügen Sie in Spring Boot einen Klassenpfad hinzu
[Spring Boot] Wenn Sie Spring Boot verwenden, war es praktisch, viele Dienstprogramme zu verwenden.
Ich habe versucht, eine Webanwendung voller Fehler mit Spring Boot zu klonen
So schreiben Sie einen Komponententest für Spring Boot 2
05. Ich habe versucht, die Quelle von Spring Boot zu löschen
So erstellen Sie ein Spring Boot-Projekt in IntelliJ
Ich habe versucht, die Kapazität von Spring Boot zu reduzieren
[Spring Boot] So erstellen Sie ein Projekt (für Anfänger)
[Einführung in Spring Boot] Senden Sie ein Formular mit thymeleaf
Verwendung von CommandLineRunner im Spring Batch von Spring Boot
Ein Memorandum beim Erstellen eines REST-Service mit Spring Boot
Booten nach Umgebung mit Spring Boot of Maven
Versuchen Sie Spring Boot von 0 bis 100.
Einführung in Spring Boot ~ ~ DI ~
Einführung in Spring Boot ② ~ AOP ~
Einführung in Spring Boot Teil 1
Die Geschichte der Erhöhung von Spring Boot von 1.5 auf 2.1 Serie Teil2
Über die Funktion von Spring Boot aufgrund unterschiedlicher Versionen
Eine Geschichte voller Grundlagen von Spring Boot (gelöst)
Schneiden Sie SQL in die Eigenschaftendatei mit jdbcTemplate von Spring Boot aus
Einstellungen für den Spring Boot 2.x-Kontextpfad
Einführung in Spring Boot x Offene API ~ Offene API, erstellt mit Generationslückenmuster ~
So erstellen Sie mit SPRING INITIALIZR einen Hinadan für ein Spring Boot-Projekt
Rufen Sie in Spring Boot eine Proxy-Instanz der Komponente selbst ab
Cassandra x Spring Boot Kampfrekord
So stellen Sie Spring Boot + PostgreSQL ein
Nachricht erlöschen (Spring Boot)
Ein Memorandum über das FizzBuzz-Problem
Beispielcode zum Testen eines Spring Boot-Controllers mit MockMvc
Verwendung von ModelMapper (Spring Boot)
Rüsten Sie den Federstiefel von der 1.5-Serie auf die 2.0-Serie auf
Ein Memo, das Spring Boot berührte
Ich möchte die Standardfehlermeldung von Spring Boot steuern
So lesen Sie Request Body mit Spring Boot + Spring Security mehrmals
Schritte zum Ausführen von Spring Boot beziehen sich auf die Werte in der Eigenschaftendatei
Java-Anfänger haben versucht, mit Spring Boot eine einfache Webanwendung zu erstellen
Persönliches Memo Merkmale von Spring Boot (hauptsächlich aus DI-Sicht)
Mein Memorandum, dass ich ValidationMessages.properties UTF8 in Spring Boot erstellen möchte
Schritte zum Erstellen einer einfachen Kamel-App mit Apache Camel Spring Boot-Startern
Ein Memorandum zur Verwendung von Eclipse
Was ist eine Spring Boot-Originaldatei?
Memorandum zum Herunterladen lokaler Dateien mit Spring Boot
Die Geschichte des Übergangs von Spring Boot 1.5 zu 2.1
Änderungen bei der Migration von Spring Boot 1.5 auf Spring Boot 2.0
Zusammenfassung der Teilnahme am JJUG CCC 2019 Spring
Änderungen bei der Migration von Spring Boot 2.0 zu Spring Boot 2.2
Zusammenfassung der Grundeinstellungen für Spring Boot, Doma2, Gradle
So teilen Sie eine Spring Boot-Nachrichtendatei
Verwenden Sie den Cache mit EhCashe 2.x mit Spring Boot
Fügen Sie Frühlingsstiefel und Gradle zur Sonnenfinsternis hinzu
Einführung des Spring Boot Actuator, einer Funktion, die die Bedienung von Spring Boot-Anwendungen erleichtert
03. Ich habe eine Anfrage von Spring Boot an die Postleitzahlensuch-API gesendet
Melden Sie sich bei Spring Boot-Webanwendungen auf der Microsoft ID-Plattform an
[Spring Boot] So rufen Sie Eigenschaften dynamisch aus einer in einer URL enthaltenen Zeichenfolge ab