Ausgabe
Ich hätte gerne eine einfache, vorzugsweise annotationsbasierte Möglichkeit, externe Eigenschaften in ein Java-Programm einzufügen, ohne das Spring-Framework ( org.springframework.beans.factory.annotation.Value;
) zu verwenden.
SomeClass.java
@Value("${some.property.name}")
private String somePropertyName;
Anwendung.yml
some:
property:
name: someValue
Gibt es eine empfohlene Möglichkeit, dies in der Standardbibliothek zu tun?
Lösung
Am Ende habe ich die Apache Commons-Konfiguration verwendet :
pom.xml:
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>1.6</version>
</dependency>
src/…/PropertiesLoader.java
PropertiesConfiguration config = new PropertiesConfiguration();
config.load(PROPERTIES_FILENAME);
config.getInt("someKey");
/src/main/resources/application.properties
someKey: 2
Ich wollte meine Bibliothek nicht in eine Spring-Anwendung umwandeln (ich wollte @Value
Anmerkungen, aber keinen Anwendungskontext + @Component
, zusätzliche Beans, zusätzliches Spring-Ökosystem/Gepäck, was in meinem Projekt keinen Sinn ergibt).
Beantwortet von – ealfonso
Antwort geprüft von – Clifford M. (FixError Volunteer)