So erhalten Sie den Wert in application.yml in Springboot
Jun 03, 2023 pm 06:43 PMIn 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. application.yml
文件中。
那么,怎么在代碼里獲取或者使用這個(gè)地址呢?有2個(gè)方法。
方法一:
我們可以通過@Value 注解的 ${key} 即可獲取配置文件(application.yml)中和 key 對(duì)應(yīng)的 value 值,這個(gè)方法適用于微服務(wù)比較少的情形
方法二:
在實(shí)際項(xiàng)目中,遇到業(yè)務(wù)繁瑣,邏輯復(fù)雜的情況,需要考慮封裝一個(gè)或多個(gè)配置類。比如,如果一個(gè)業(yè)務(wù)需要同時(shí)使用微服務(wù)1、微服務(wù)2和微服務(wù)3,那么這些微服務(wù)將被調(diào)用。
如果這樣一個(gè)個(gè)去使用 @Value 注解引入相應(yīng)的微服務(wù)地址的話,太過于繁瑣。
也許實(shí)際業(yè)務(wù)中,遠(yuǎn)遠(yuǎn)不止這三個(gè)微服務(wù),甚至十幾個(gè)都有可能。對(duì)于這種情況,我們可以先定義一個(gè) MicroServiceUrl

Also, wie bekomme ich diese Adresse oder verwende ich sie 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 annotierten ${key} abrufen. Diese Methode ist anwendbar In Situationen, in denen es relativ wenige Microservices gibt
Methode 2:

MicroServiceUrl
-Klasse definieren, um speziell die URL des Microservices zu speichern. import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; @Component @ConfigurationProperties(prefix = "url") public class MicroServiceUrl { private String orderUrl; private String userUrl; private String shoppingUrl; public String getOrderUrl() { return orderUrl; } public void setOrderUrl(String orderUrl) { this.orderUrl = orderUrl; } public String getUserUrl() { return userUrl; } public void setUserUrl(String userUrl) { this.userUrl = userUrl; } public String getShoppingUrl() { return shoppingUrl; } public void setShoppingUrl(String shoppingUrl) { this.shoppingUrl = shoppingUrl; } }#????#Die Konfiguration ist jetzt geschrieben. Es ist nicht erforderlich, die URLs dieser Mikrodienste einzeln in den Code einzuführen. Sie k?nnen die neu geschriebene Konfigurationsklasse direkt über die Annotation @Resource einfügen . Das Folgende ist der Test-Controller: #????##????##????##????#
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
Das obige ist der detaillierte Inhalt vonSo erhalten Sie den Wert in application.yml in Springboot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

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

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

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

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

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Einführung in Jasypt Jasypt ist eine Java-Bibliothek, die es einem Entwickler erm?glicht, seinem Projekt mit minimalem Aufwand grundlegende Verschlüsselungsfunktionen hinzuzufügen und kein tiefes Verst?ndnis der Funktionsweise der Verschlüsselung erfordert. standardbasierte Verschlüsselungstechnologie. Passw?rter, Text, Zahlen, Bin?rdateien verschlüsseln ... Geeignet für die Integration in Spring-basierte Anwendungen, offene API, zur Verwendung mit jedem JCE-Anbieter ... Fügen Sie die folgende Abh?ngigkeit hinzu: com.github.ulisesbocchiojasypt-spring-boot-starter2 Die Vorteile von Jasypt schützen unsere Systemsicherheit. Selbst wenn der Code durchgesickert ist, kann die Datenquelle garantiert werden.

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

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

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

Nutzungsszenario 1. Die Bestellung wurde erfolgreich aufgegeben, die Zahlung erfolgte jedoch nicht innerhalb von 30 Minuten. Die Zahlung ist abgelaufen und die Bestellung wurde automatisch storniert. 2. Die Bestellung wurde unterzeichnet und es wurde 7 Tage lang keine Bewertung durchgeführt. Wenn die Bestellung abl?uft und nicht ausgewertet wird, wird die Bestellung standardm??ig positiv bewertet. Wenn der H?ndler die Bestellung innerhalb von 5 Minuten nicht erh?lt, wird die Bestellung abgebrochen Es wird eine SMS-Erinnerung gesendet ... Für Szenarien mit langen Verz?gerungen und geringer Echtzeitleistung k?nnen wir die Aufgabenplanung verwenden, um eine regelm??ige Abfrageverarbeitung durchzuführen. Zum Beispiel: xxl-job Heute werden wir ausw?hlen

Wenn Springboot + Mybatis-plus keine SQL-Anweisungen zum Hinzufügen mehrerer Tabellen verwendet, werden die Probleme, auf die ich gesto?en bin, durch die Simulation des Denkens in der Testumgebung zerlegt: Erstellen Sie ein BrandDTO-Objekt mit Parametern, um die übergabe von Parametern an den Hintergrund zu simulieren dass es ?u?erst schwierig ist, Multi-Table-Operationen in Mybatis-plus durchzuführen. Wenn Sie keine Tools wie Mybatis-plus-join verwenden, k?nnen Sie nur die entsprechende Mapper.xml-Datei konfigurieren und die stinkende und lange ResultMap konfigurieren Schreiben Sie die entsprechende SQL-Anweisung. Obwohl diese Methode umst?ndlich erscheint, ist sie ?u?erst flexibel und erm?glicht es uns

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

1. @Import führt gew?hnliche Klassen ein @Import führt gew?hnliche Klassen ein, um uns dabei zu helfen, gew?hnliche Klassen als Beans zu definieren. @Import kann zu den Klassen hinzugefügt werden, die @SpringBootApplication (Startklasse), @Configuration (Konfigurationsklasse) und @Component (Komponentenklasse) entsprechen. Hinweis: @RestController, @Service und @Repository geh?ren alle über die Annotation @Import zu @Component@SpringBootApplication@Import(ImportBean.class)//ImportBean
