sashok_bg
sashok_bg

Reputation: 3029

Spring Boot Use Custom Properties Service

I am working on a legacy project that has its own PropertyService class that manages the reloadable properties and so on.

The thing works pretty much OK, but the problem is now I have this property service, for my project, and an application.yml for the spring boot related properties.

The question is: is there a way to tell spring boot to load properties from something like a properties provider - a custom class or an adapter of sort ?

In this way I could manage my properties only through the existing module

Thank you for your help !

Upvotes: 2

Views: 812

Answers (1)

StanislavL
StanislavL

Reputation: 57421

Try @ConfigurationProperties to customize the properties loading (see the example)

The code example

@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 you define a bean which in fact returns properties

Upvotes: 1

Related Questions