Heim  >  Artikel  >  Java  >  Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

WBOY
WBOYnach vorne
2023-05-12 22:13:041535Durchsuche

    1. Die Rolle der Konfigurationsdatei

    Alle wichtigen Daten im gesamten Projekt werden in der Konfigurationsdatei konfiguriert:

    • Datenbankverbindungsinformationen (Benutzername und Passworteinstellungen);

    • Port für den Projektstart;

    • geheime Schlüsselinformationen für Systemaufrufe von Drittanbietern;

    • normale Protokolle und abnormale Protokolle, die Probleme erkennen und lokalisieren können;

    Wenn keine Konfigurationsdatei vorhanden ist, können diese Informationen nicht konfiguriert werden, die Datenbank kann nicht verbunden werden, das Protokoll kann nicht angezeigt werden usw. Diese Probleme sind für das Spring Boot-Projekt sehr kritisch, daher ist die Konfigurationsdatei besonders wichtig!

    2. Format der Konfigurationsdateien

    Die Klassifizierung von Konfigurationsdateien ist im Allgemeinen:

    • Systemkonfigurationsdateien (vom System definiert), wie z. B. Verbindungszeichenfolgen, protokollbezogene Einstellungen;

    • vom Benutzer selbst definiert;

    Die Spring Boot-Konfigurationsdatei hat hauptsächlich zwei Formate:

    • .properties

    • .yml

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    Dies sind die beiden Formate, und sie müssen hier so geschrieben werden, andernfalls ein Es wird ein Fehler gemeldet (Konvention ist größer als Konfiguration). Die beiden Formate sind nur Produkte unterschiedlicher Zeit. Dies ist auch wie folgt Es wird entsprechende Einführungen geben, und wenn beide Formate konfiguriert sind, verwendet die Konfiguration hier die Konfiguration in den Eigenschaften und ignoriert die Konfiguration in yml. Daher wird nicht empfohlen, beide Formate gleichzeitig zu verwenden Dann verwenden Sie das gleiche Format in einem Projekt!

    3. Beschreibung der Eigenschaftenkonfigurationsdatei

    Die Eigenschaftenkonfigurationsdatei ist ein früheres Konfigurationsdateiformat und auch die Standardkonfigurationsdatei für das Spring Boot-Projekt. Im Folgenden finden Sie eine detaillierte Einführung in die Eigenschaftenkonfigurationsdatei:

    1 . Die grundlegende Syntax von Eigenschaften

    Eigenschaften sind hauptsächlich Schlüssel-Wert-Paare (Schlüssel=Wert), ähnlich dem Format von

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    (schreiben Sie keine Leerzeichen in die Mitte und schreiben Sie keine zusätzlichen Leerzeichen)

    If Es handelt sich um eine benutzerdefinierte Konfigurationsdatei. Sie liegt ebenfalls in der Form „key=value“ vor und Sie müssen sie selbst schreiben. Wenn Sie diese Datei lesen möchten, können Sie nur den von Ihnen definierten Schlüsselwert verwenden, um den Wert zu erhalten!

    2. Lesen Sie die Konfigurationsdatei

    Dieses Problem kann auch durch die Verwendung von Annotationen gelöst werden. Hier können Sie die Annotation @Value und das Format von ${} verwenden, um Folgendes zu lesen:

    @Controller
    public class Test {
        @Value("${server.port}") //读取配置项
        private  String port;
        @ResponseBody  //返回一个非静态页面的数据
        @RequestMapping("/func")  //设置路由地址
        public String  func(){
            return "port: " + port;
        }
    }

    Dann durchsuchen Sie http://localhost Die Seite :8080/func hängt von der beobachteten Portnummer ab:

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    Mit @Value kann nur eine Konfigurationsdatei gelesen werden. Wenn Sie mehrere lesen möchten, müssen Sie ein paar weitere @-Tags schreiben

    3. Nachteile von Eigenschaften: In Eigenschaften wird die Form „Schlüssel = Wert“ verwendet. Wenn es sich um einen Wert unter demselben Schlüssel handelt, muss der Schlüsselwert wiederholt geschrieben werden Um dieses Problem zu lösen, müssen Sie die YML-Konfigurationsdatei verwenden.

    IV Beschreibung der YML-Konfigurationsdatei yml ist dem von Hochsprachen sehr ähnlich, und der größte Vorteil von yml besteht darin, dass es in mehreren Sprachen wie Python und Golang verwendet werden kann. Sie können yml als Konfigurationsdatei verwenden. Das Folgende ist eine detaillierte Einführung in die yml-Konfigurationsdatei:

    1. Grundlegende Syntax in yml: Schlüssel: Wert Beachten Sie, dass zwischen Schlüssel und Wert ein Leerzeichen erforderlich ist kann nicht weggelassen werden, ähnlich wie

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    Wenn Sie die obige Verbindungsdatenbankkonfiguration mit dieser Syntax schreiben, ist es viel praktischer:

    Zusätzlich: Fragen zu einfachen und doppelten Anführungszeichen in yml: Wenn doppelte Anführungszeichen vorhanden sind Wenn es in yml verwendet wird, sieht es wie folgt aus ( Ursprüngliche) semantische Ausführung: Wenn es nicht hinzugefügt wird oder einfache Anführungszeichen hinzugefügt werden, werden die Sonderzeichen in der Zeichenfolge standardmäßig maskiert, z. B. n -> n (Escape) Verarbeitung .

    2. Lesen Sie die Konfigurationsdatei

    Die Art und Weise, wie die YML-Konfigurationsdatei gelesen wird, ist die gleiche wie bei den Eigenschaften. Ich werde es hier nicht demonstrieren Schauen Sie sich den anderen YML-Ort an! Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    3.配置对象

    在yml里面还是可以配置对象的:

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    另外也可以使用行内写法:

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    而想要读取到这个对象的话就不能再使用@Value注解了,这里需要借助@ConfigurationProperties来读取:

    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    @Data
    @ConfigurationProperties(prefix = "student") //读取配置文件的对象
    @Component
    public class Student {
        private int id;
        private String name;
        private int age;
    }

    然后读取对象,就可以直接进行注入了:

    @Controller
    public class Test {
        @Autowired
        private Student student;
        @ResponseBody
        @RequestMapping("/getstudent")
        public String getStudent(){
            return "student: " + student;
        }
    }

    然后通过浏览器搜索http://localhost:8080/getstudent就可以得到对象内容了:

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    4.配置集合

    在yml里面也是可以配置集合的:

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    同样行内写法也是可以的:

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    而要获取到集合的话,和获取对象是差不多的,也是通过@ConfigurationProperties来获取:

    import lombok.Data;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    import java.util.List;
    @Data
    @ConfigurationProperties(prefix = "dbtypes")
    @Component
    public class ListConfig {
        private List<String> name;
    }

    读取集合:

    @Controller
    public class Test {
        @Autowired
        private ListConfig listConfig;
        @ResponseBody
        @RequestMapping("/getlist")
        public String getList(){
            return "name:" + listConfig.getName();
        }
    }

    然后通过浏览器搜索http://localhost:8080/getlist就可以得到对象内容了:

    Welche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?

    五.properties和yml的区别

    • properties是以key=value的形式配置的键值对类型配置文件,而yml是以key: value的形式配置的键值对类型配置文件;

    • properties是早期且系统默认的配置文件格式,但配置存在一定的冗余数据,而yml可以更好的解决数据冗余问题;

    • yml通用性更好,支持多语言;

    • yml支持更多的数据类型;

    Das obige ist der detaillierte Inhalt vonWelche Funktionen und Details hat die Spring Boot-Konfigurationsdatei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen