Heim Java javaLernprogramm So lösen Sie das Problem, dass leere Mapper automatisch in das Idee-SpringBoot-Projekt eingefügt werden

So lösen Sie das Problem, dass leere Mapper automatisch in das Idee-SpringBoot-Projekt eingefügt werden

May 17, 2023 pm 06:49 PM
idea springboot mapper

Wenn im SpringBoot-Projekt MyBatis als Persistenzschicht-Framework verwendet wird, kann es bei Verwendung der automatischen Injektion zu dem Problem kommen, dass der Mapper eine Nullzeiger-Ausnahme meldet. Dies liegt daran, dass SpringBoot die Mapper-Schnittstelle von MyBatis während der automatischen Injektion nicht korrekt identifizieren kann und einige zusätzliche Konfigurationen erfordert.
Es gibt zwei Möglichkeiten, dieses Problem zu lösen:

1. Fügen Sie Anmerkungen zur Mapper-Schnittstelle hinzu.
Fügen Sie die @Mapper-Annotation zur Mapper-Schnittstelle hinzu, um SpringBoot mitzuteilen, dass diese Schnittstelle eine Mapper-Schnittstelle ist und als Proxy verwendet werden muss. Ein Beispiel ist wie folgt:

@Mapper
public interface UserMapper {
    // ...
}
Nach dem Login kopieren

2. Konfigurieren Sie den Mapper-Scanpfad manuell. Konfigurieren Sie den Mapper-Scanpfad manuell in application.properties oder application.yml, um SpringBoot anzuweisen, die Mapper-Schnittstellen unter welchen Paketen zu scannen. Das Beispiel sieht wie folgt aus:
Konfigurieren Sie in application.properties:

mybatis.mapper-locations=classpath:mapper/*.xml
Nach dem Login kopieren

Konfigurieren Sie in application.yml:

mybatis:
  mapper-locations: classpath:mapper/*.xml
Nach dem Login kopieren
Es ​​ist zu beachten, dass sich mapper/*.xml hier auf den Pfad bezieht, in dem sich die XML-Datei befindet, die der Mapper-Schnittstelle entspricht gespeichert. Wenn Sie Anmerkungen zum Konfigurieren von SQL-Anweisungen verwenden, müssen Sie den XML-Dateipfad nicht konfigurieren.

Nach der Konfiguration auf die beiden oben genannten Arten können Sie die Mapper-Schnittstelle korrekt injizieren, wenn Sie die automatische Injektion verwenden.

Abschließend: Wenn Sie alle oben genannten Schritte ausgeführt haben und immer noch ein leeres Ergebnis erhalten, überprüfen Sie, ob Sie den Mapper nicht versehentlich in die Controller-Ebene eingefügt haben Das injizierte Objekt wird nicht automatisch in den Frühling injiziert. Das Objekt im Container wird als leer gemeldet und die gesamte Szene muss in der Controller-Ebene mit @Autowird injiziert werden

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem, dass leere Mapper automatisch in das Idee-SpringBoot-Projekt eingefügt werden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Der Unterschied zwischen der Ideen-Community-Version und der professionellen Version Der Unterschied zwischen der Ideen-Community-Version und der professionellen Version Nov 07, 2023 pm 05:23 PM

Zu den Unterschieden zwischen IDEA Community Edition und Professional Edition gehören Autorisierungsmethoden, Funktionen, Support und Updates, Plug-in-Unterstützung, Cloud-Dienste und Teamzusammenarbeit, mobile Entwicklungsunterstützung, Bildung und Lernen, Integration und Skalierbarkeit, Fehlerbehandlung und Debugging, Sicherheit und Datenschutz Schutz usw. Detaillierte Einführung: 1. Die Community-Version ist kostenlos und für alle Entwickler geeignet, unabhängig vom verwendeten Betriebssystem. Die professionelle Version ist kostenpflichtig und für die kommerzielle Entwicklung geeignet Für die professionelle Version gibt es eine 30-tägige Testphase. Danach müssen Sie eine Lizenz erwerben, um sie weiterhin verwenden zu können usw.

Fünf IntelliJ IDEA-Plug-Ins zum effizienten Schreiben von Code Fünf IntelliJ IDEA-Plug-Ins zum effizienten Schreiben von Code Jul 16, 2023 am 08:03 AM

Künstliche Intelligenz (KI) ist derzeit ein weithin anerkannter Zukunftstrend und eine Entwicklungsrichtung. Obwohl manche befürchten, dass KI alle Jobs ersetzen könnte, wird sie in Wirklichkeit nur Jobs ersetzen, die sich stark wiederholen und wenig Leistung bringen. Deshalb sollten wir lernen, intelligenter statt härter zu arbeiten. In diesem Artikel werden 5 KI-gesteuerte Intellij-Plug-Ins vorgestellt. Diese Plug-Ins können Ihnen helfen, die Produktivität zu verbessern, mühsame, sich wiederholende Arbeiten zu reduzieren und Ihre Arbeit effizienter und bequemer zu gestalten. 1GithubCopilotGithubCopilot ist ein Code-Unterstützungstool für künstliche Intelligenz, das gemeinsam von OpenAI und GitHub entwickelt wurde. Es nutzt das GPT-Modell von OpenAI, um den Codekontext zu analysieren, neuen Code vorherzusagen und zu generieren

So implementieren Sie verteilte Sperren mit Redis in SpringBoot So implementieren Sie verteilte Sperren mit Redis in SpringBoot Jun 03, 2023 am 08:16 AM

1. Redis implementiert das Prinzip der verteilten Sperren und warum verteilte Sperren erforderlich sind. Bevor über verteilte Sperren gesprochen wird, muss erläutert werden, warum verteilte Sperren erforderlich sind. Das Gegenteil von verteilten Sperren sind eigenständige Sperren. Wenn wir Multithread-Programme schreiben, vermeiden wir Datenprobleme, die durch den gleichzeitigen Betrieb einer gemeinsam genutzten Variablen verursacht werden. Normalerweise verwenden wir eine Sperre, um die Richtigkeit der gemeinsam genutzten Variablen sicherzustellen Die gemeinsam genutzten Variablen liegen im gleichen Prozess. Wenn es mehrere Prozesse gibt, die gleichzeitig eine gemeinsam genutzte Ressource betreiben müssen, wie können sie sich dann gegenseitig ausschließen? Heutige Geschäftsanwendungen sind in der Regel Microservice-Architekturen, was auch bedeutet, dass eine Anwendung mehrere Prozesse bereitstellen muss. Wenn mehrere Prozesse dieselbe Datensatzzeile in MySQL ändern müssen, ist eine Verteilung erforderlich, um fehlerhafte Daten zu vermeiden wird zu diesem Zeitpunkt eingeführt. Der Stil ist gesperrt. Punkte erreichen wollen

So lösen Sie das Problem, dass Springboot nach dem Einlesen in ein JAR-Paket nicht auf die Datei zugreifen kann So lösen Sie das Problem, dass Springboot nach dem Einlesen in ein JAR-Paket nicht auf die Datei zugreifen kann Jun 03, 2023 pm 04:38 PM

Springboot liest die Datei, kann aber nach dem Packen in ein JAR-Paket nicht auf die neueste Entwicklung zugreifen. Es gibt eine Situation, in der Springboot die Datei nach dem Packen in ein JAR-Paket nicht lesen kann ist ungültig und kann nur über den Stream gelesen werden. Die Datei befindet sich unter resources publicvoidtest(){Listnames=newArrayList();InputStreamReaderread=null;try{ClassPathResourceresource=newClassPathResource("name.txt");Input

Vergleich und Differenzanalyse zwischen SpringBoot und SpringMVC Vergleich und Differenzanalyse zwischen SpringBoot und SpringMVC Dec 29, 2023 am 11:02 AM

SpringBoot und SpringMVC sind beide häufig verwendete Frameworks in der Java-Entwicklung, es gibt jedoch einige offensichtliche Unterschiede zwischen ihnen. In diesem Artikel werden die Funktionen und Verwendungsmöglichkeiten dieser beiden Frameworks untersucht und ihre Unterschiede verglichen. Lassen Sie uns zunächst etwas über SpringBoot lernen. SpringBoot wurde vom Pivotal-Team entwickelt, um die Erstellung und Bereitstellung von Anwendungen auf Basis des Spring-Frameworks zu vereinfachen. Es bietet eine schnelle und einfache Möglichkeit, eigenständige, ausführbare Dateien zu erstellen

Wie SpringBoot Redis anpasst, um die Cache-Serialisierung zu implementieren Wie SpringBoot Redis anpasst, um die Cache-Serialisierung zu implementieren Jun 03, 2023 am 11:32 AM

1. Passen Sie den RedisTemplate1.1-Standard-Serialisierungsmechanismus an. Die API-basierte Redis-Cache-Implementierung verwendet die RedisTemplate-Vorlage für Daten-Caching-Vorgänge. Öffnen Sie hier die RedisTemplate-Klasse und zeigen Sie die Quellcodeinformationen der Klasse publicclassRedisTemplateextendsRedisAccessorimplementsRedisOperations an. Schlüssel deklarieren, verschiedene Serialisierungsmethoden des Werts, der Anfangswert ist leer @NullableprivateRedisSe

So erhalten Sie den Wert in application.yml in Springboot So erhalten Sie den Wert in application.yml in Springboot Jun 03, 2023 pm 06:43 PM

In Projekten werden häufig einige Konfigurationsinformationen benötigt. Diese Informationen können in der Testumgebung und in der Produktionsumgebung unterschiedliche Konfigurationen haben und müssen möglicherweise später basierend auf den tatsächlichen Geschäftsbedingungen geändert werden. Wir können diese Konfigurationen nicht fest im Code codieren. Am besten schreiben Sie sie in die Konfigurationsdatei. Sie können diese Informationen beispielsweise in die Datei application.yml schreiben. Wie erhält oder verwendet man diese Adresse im Code? Es gibt 2 Methoden. Methode 1: Wir können den Wert, der dem Schlüssel in der Konfigurationsdatei (application.yml) entspricht, über den mit @Value versehenen Wert erhalten. Diese Methode eignet sich für Situationen, in denen es relativ wenige Mikrodienste gibt: Tatsächlich Projekte, wenn das Geschäft kompliziert ist, Logik

Praktisches Tutorial zur SpringBoot+Dubbo+Nacos-Entwicklung Praktisches Tutorial zur SpringBoot+Dubbo+Nacos-Entwicklung Aug 15, 2023 pm 04:49 PM

In diesem Artikel wird ein detailliertes Beispiel geschrieben, um über die tatsächliche Entwicklung von Dubbo + Nacos + Spring Boot zu sprechen. In diesem Artikel wird nicht zu viel theoretisches Wissen behandelt, sondern das einfachste Beispiel wird geschrieben, um zu veranschaulichen, wie Dubbo in Nacos integriert werden kann, um schnell eine Entwicklungsumgebung aufzubauen.

See all articles