


@Value von SpringBoot führt dazu, dass die application.properties-Konfiguration ungültig wird. So lösen Sie das Problem
@Value erhält das Problem der Ungültigkeit der application.properties-Konfiguration
Der Grund für die Ungültigkeit liegt hauptsächlich darin, die Vorsichtsmaßnahmen für die Verwendung von @Value zu beachten:
1 Es kann nicht für statische Variablen (statisch) verwendet werden.
2. Es kann nicht auf Konstanten angewendet werden (endgültig);
3 Kann nicht in nicht registrierten Klassen verwendet werden (Verwendung von @Component, @Configuration usw.);
4 Wenn Sie eine Klasse mit diesem Attribut verwenden, können Sie nur die @ Autowired-Methode verwenden, und die neue Methode fügt diese Konfigurationen nicht automatisch ein.
Diese Vorsichtsmaßnahmen werden auch durch ihr Prinzip bestimmt:
Während des Springboot-Startvorgangs gibt es zwei wichtige Prozesse:
1. Scannen und analysieren Sie die Bohnen im Container und registrieren Sie sie im beanFactory Nach oben zu gehen ist wie das Registrieren von Informationen.
2. Instanziieren und initialisieren Sie diese gescannten Beans.
@Value wird in der zweiten Stufe analysiert. BeanPostProcessor definiert die Schnittstellenmethode, die Benutzer vor und nach der Bean-Initialisierung auf die Bean anwenden können. Eine ihrer wichtigen Implementierungsklassen, AutowiredAnnotationBeanPostProcessor, bietet, wie im Javadoc heißt, Unterstützung für die Injektionsfunktion von @Autowired- und @Value-Annotationen in der Bean.
Es gibt zwei Möglichkeiten:
resource.test.imageServer=http://image.everest.com
1. Der erste
@Configuration public class EverestConfig { @Value("${resource.test.imageServer}") private String imageServer; public String getImageServer() { return imageServer; } }
Dann fügen Sie ihn dort ein, wo er benötigt wird
@Component @ConfigurationProperties(prefix = "resource.test") public class TestUtil { public String imageServer; public String getImageServer() { return imageServer; } public void setImageServer(String imageServer) { this.imageServer = imageServer; } }
@Value, um die Konfiguration in application.properties zu erhalten Null
@Autowired private TestUtil testUtil; @Autowired private EverestConfig everestConfig; @GetMapping("getImageServer") public String getImageServer() { return testUtil.getImageServer(); // return everestConfig.getImageServer(); }
Der Wert ist NULL.
Lösung
Verwenden Sie nicht die neue Methode zum Erstellen von Werkzeugklassenobjekten (DBUtils), sondern verwenden Sie die von Springboot verwaltete @Autowired-Methode. Fügen Sie @Component zur Werkzeugklasse hinzu und fügen Sie dem definierten Attribut keine statischen Elemente hinzu Variablen.
Richtiger Weg
@Value("${spring.datasource.url}") private String url;
Das obige ist der detaillierte Inhalt von@Value von SpringBoot führt dazu, dass die application.properties-Konfiguration ungültig wird. So lösen Sie das Problem. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Java'splattformIndependencemeansDevelopersCanwriteCodeonceAnDrunitonanyDevicewithoutrecompiling.Thissisached ThejavavirtualMachine (JVM), Who IssisByteCodeIntomachine-spezifische STRADIONS, ZUSTANDUNGUNGENSALVATIBILIBILIBLETUNGEN.HOWIFRISIONENS

Um die JVM einzurichten, müssen Sie die folgenden Schritte ausführen: 1) Laden Sie die JDK -Set -Variablen herunter und installieren Sie die Umgebungsvariablen, 3) Überprüfen Sie die Installation, 4) Setzen Sie die IDE, 5) Testen Sie das Läuferprogramm. Bei der Einrichtung eines JVM geht es nicht nur darum, es funktioniert, sondern auch die Optimierung der Speicherzuweisung, der Müllsammlung, der Leistungsstimmung und der Fehlerbehandlung, um einen optimalen Betrieb sicherzustellen.

ToensurejavaplatformIndependenz, folge theSesteps: 1) compileandrunyourApplicationOnmultiPlatformSusendifferentosandjvmversions.2) utilizeci/cdpipelines-usjenkinsorgithubactionsForAutomatedCross-PlatformTesting.3) US-Erklammern

JavastandsoutinMoDerndevelopmentDuetoitsRobustFeatureSlikelambdaExpressions, Streams, andenhancedConcurcurcysupport.)

Die Kernmerkmale von Java sind Plattformunabhängigkeit, objektorientiertes Design und eine reichhaltige Standardbibliothek. 1) Objektorientiertes Design macht den Code durch polymorphe Merkmale flexibler und wartbarer. 2) Der Mechanismus -Sammelmechanismus befreit die Belastung des Gedächtnismanagements von Entwicklern, muss jedoch optimiert werden, um Leistungsprobleme zu vermeiden. 3) Die Standardbibliothek bietet leistungsstarke Tools von Sammlungen bis hin zu Netzwerken, aber Datenstrukturen sollten sorgfältig ausgewählt werden, um den Code präzise zu halten.

Ja, Javacanruneverywhereduetoits "Writeonce, Runanywhere" Philosophie.1) JavacodeiscompiledIntoplatform-unabhängigem BYTecode.2) thejavavirtualmachine (JVM) interpretiert, wiesByteCodinualmachine-spezifisch-spezifiziert

Jdkincludestoolsfordeveloving und Compilingjavacode, während JvmrunStheCompiledByteCode.1) Jdkcontainsjre, Compiler und Änderungen.2) JVMManmanageByteeexexexexexecution undSupports "Writeonce, Run Anlywhere.

Die wichtigsten Merkmale von Java sind: 1) objektorientiertes Design, 2) Plattformunabhängigkeit, 3) Mechanismus für Müllsammlung, 4) Reiche Bibliotheken und Rahmenbedingungen, 5) Unterstützung der Parallelität, 6) Ausnahmebehandlung, 7) Kontinuierliche Entwicklung. Diese Funktionen von Java machen es zu einem leistungsstarken Tool für die Entwicklung einer effizienten und wartbaren Software.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Dreamweaver CS6
Visuelle Webentwicklungstools

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung
