Spring Boot使用自定义属性服务

时间:2017-06-26 08:40:18

标签: spring spring-boot properties

我正在开发一个遗留项目,它有自己的PropertyService类来管理可重新加载的属性等等。

事情很好,但问题是现在我有这个属性服务,对于我的项目,还有一个application.yml用于spring boot相关属性。

问题是:有没有办法告诉spring boot从属性提供程序加载属性 - 自定义类或排序适配器?

通过这种方式,我只能通过现有模块管理我的属性

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

尝试@ConfigurationProperties自定义加载属性(请参阅the 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
    }
}

所以你定义了一个实际上返回属性的bean