[JAVA] [Grails] Über den Einstellungsbereich und die Einstellungselemente von application.yml

Vor kurzem hatte ich die Gelegenheit, Grails bei der Arbeit zu verwenden, und da ich das offizielle Dokument gelesen habe, werde ich über Config schreiben (einschließlich meines eigenen Memorandums ...)

Grails Konfigurationsbereich

Es ist in zwei Hauptbereiche unterteilt: Build-Einstellungen und Laufzeiteinstellungen.

Build-Einstellungen werden im Allgemeinen mit Gradle und build.gradle vorgenommen. Die Laufzeiteinstellungen werden standardmäßig in der Datei grails-app / conf / application.yml vorgenommen

Festlegen von Elementen von application.yml

grails.enable.native2ascii Setzen Sie dies auf false, wenn Sie die native2ascii-Konvertierung der Grails i18n-Eigenschaftendatei nicht benötigen (Standard: true).

grails.views.default.codec Legen Sie das Standardcodierungssystem für GSP fest Entweder 'noone', 'html' oder 'base64' (Standard: 'none'). Setzen Sie diesen Wert auf "HTML", um das Risiko von XSS-Angriffen zu verringern.

grails.views.gsp.encoding Dateikodierung für GSP-Quelldateien (Standard: 'utf-8').

grails.mime.file.extensions Gibt an, ob Content Negotiation die Dateierweiterung verwendet, um den MIME-Typ zu bestimmen (Standard ist true).

grails.mime.types Einstellungen für Karten unterstützter MIME-Typen zur Verwendung bei der Inhaltsverhandlung.

grails.serverURL Eine Zeichenfolge, die den Server-URL-Teil des absoluten Links einschließlich des Servernamens angibt. Diese Einstellung wird auch für Weiterleitungen verwendet. Einzelheiten finden Sie in der Dokumentation

grails.views.gsp.sitemesh.preprocess Gibt an, ob SiteMesh vorverarbeitet werden soll. Durch Deaktivieren wird das Rendern von Seiten verlangsamt. Wenn Sie jedoch SiteMesh zum Parsen des in der GSP-Ansicht generierten HTML-Codes benötigen, deaktivieren Sie es.

grails.reload.excludes und grails.reload.include

Durch Festlegen dieser Anweisungen wird das Neuladeverhalten der projektspezifischen Quelldatei bestimmt. Jede Direktive erhält eine Liste von Zeichenfolgen, die den Klassennamen der Projektquelldatei darstellen und vom Neuladevorgang ausgeschlossen oder beim Ausführen der in Entwicklung befindlichen Anwendung mit dem Befehl run-app berücksichtigt werden sollen. Wenn beispielsweise die Anweisung grails.reload.include festgelegt ist, werden nur die in dieser Liste enthaltenen Klassen neu geladen. (Grails.reload.excludes lädt im Gegenteil alles außer den enthaltenen Klassen neu)

Bonus

Laden Sie die Einstellungen von application.yml

Wenn Sie die Laufzeiteinstellungen lesen möchten, dh die in application.yml definierten Einstellungen, verwenden Sie das Objekt grailsApplication, das als Variable in der Controller- oder Tag-Bibliothek verwendet werden kann. Die config-Eigenschaft des grailsApplication-Objekts ist eine Instanz der Config-Schnittstelle Es bietet viele Methoden zum Lesen der Einstellungen. Die Methode getProperty ist beispielsweise nützlich, um Konfigurationseigenschaften effizient abzurufen, während der Eigenschaftstyp angegeben wird (Standardtyp ist String) und Standard-Fallback-Werte bereitgestellt werden.

Der dynamische Zugriff auf Einstellungen zur Laufzeit kann sich geringfügig auf die Anwendungsleistung auswirken. Ein anderer Ansatz besteht darin, die Grails Configuration Aware-Schnittstelle zu implementieren. Wenn Sie Lust dazu haben, werde ich es hinzufügen oder einen Artikel veröffentlichen. .. ..

Recommended Posts

[Grails] Über den Einstellungsbereich und die Einstellungselemente von application.yml
Informationen zur Funktionsweise von next () und nextLine ()
Denken Sie an die Kombination von Servlet und Ajax
Informationen zu next () und nextLine () der Scannerklasse
[Technisches Memo] Über die Vor- und Nachteile von Ruby
Über den Umgang mit Null
Informationen zur Beschreibung von Docker-compose.yml
Ungefähr der gleiche und der gleiche Wert
[Ruby] Fragen und Überprüfung der Anzahl der Methodenargumente
[Java] Ich habe über die Vorzüge und Verwendungen von "Schnittstelle" nachgedacht.
Über das Verhalten von Ruby Hash # ==
Über die Grundlagen der Android-Entwicklung
Über Biocontainer fastqc und Java
Informationen zu den Methoden equals () und hashcode ()
Dies und das von JDK
Informationen zur Rolle der Initialisierungsmethode
Informationen zu removeAll und RetainAll von ArrayList
Denken Sie an die 7 Regeln von Optional
Informationen zur Protokollebene von java.util.logging.Logger
Über die Klassifizierung und das Konzept von Immutable / Mutable / Const / Variable von Java und Kotlin.
[Einführung in Ruby] Über die Rolle von true und break in der while-Anweisung
(In 1 Minute bestimmen) Wie verwende ich leer ?, Leer? Und präsent?
Was ist ein Test? ・ Über die Wichtigkeit eines Tests
Ein- und Ausklappen des Inhalts der Recycler-Ansicht
Informationen zur ersten Anzeige von Spring Framework
Über die Behandlung von BigDecimal (mit Reflexion)
Über den Unterschied zwischen irb und pry
Über die Anzahl der Threads von Completable Future
Überprüfen Sie die installierte und aktivierte JDK-Version
[Rails / Active Record] Über den Unterschied zwischen create und create!
Über den offiziellen Startleitfaden für Spring Framework
Über die Idee anonymer Klassen in Java
Vergleichen Sie die Geschwindigkeit der for-Anweisung und der erweiterten for-Anweisung.
[Android] Listet alle Einstellungselemente auf dem Einstellungsbildschirm auf
[Java] Der verwirrende Teil von String und StringBuilder
Ich habe die Eigenschaften von Java und .NET verglichen
Lernen Sie den rudimentären Mechanismus und die Verwendung von Gradle 4.4 kennen
Informationen zum Aufruf-Timing und zu den Argumenten der addToBackStack-Methode
Was sind die Vorteile von DI und Thymeleaf?
Ein Memo über den Fluss von Rails und Vue
Zusammenfassung der japanischen Zeiteinstellung und Anzeigemethode