2017-06-26 3 views
1

Ich arbeite an einem Legacy-Projekt, das eine eigene PropertyService-Klasse hat, die die reloadbaren Eigenschaften verwaltet und so weiter.Spring Boot Verwenden Sie benutzerdefinierte Eigenschaften Service

Die Sache funktioniert ziemlich gut, aber das Problem ist jetzt habe ich diese Eigenschaft Service, für mein Projekt, und eine application.yml für die Spring-Boot-ähnliche Eigenschaften.

Die Frage ist: Gibt es eine Möglichkeit, Spring Boot zu sagen, um Eigenschaften von etwas wie ein Properties Provider laden - eine benutzerdefinierte Klasse oder ein Adapter der Sorte?

Auf diese Weise habe ich nur

Dank für Ihre Hilfe danken durch das bestehende Modul meine Eigenschaften verwalten können!

Antwort

1

@ConfigurationProperties versuchen, die Eigenschaften zu laden (siehe the example)

Codebeispiel

@Configuration 
@ConfigurationProperties(locations = "classpath:mail.properties", prefix = "mail") 
public class MailConfiguration { 

    public static class Smtp { 

     private boolean auth; 
     private boolean starttlsEnable; 

     // ... getters and setters 
    } 

    @NotBlank 
    private String host; 
    private int port; 
    private String from; 
    private String username; 
    private String password; 
    @NotNull 
    private Smtp smtp; 

    // ... getters and setters 

    @Bean 
    public JavaMailSender javaMailSender() { 
     // omitted for readability 
    } 
} 

So haben Sie eine Bohne definieren, die in der Tat Eigenschaften liefert anpassen

+0

ich mit „server.port versucht haben, "Also habe ich in meiner Klasse @ConfigurationProperties (prefix =" server ") und eine Funktion namens" int port ". Der Getter wird jedoch nie aufgerufen. Sind Sie sicher, dass Sie die Spring-Boot-Eigenschaften so überschreiben können? –

Verwandte Themen