我正在开发一个遗留项目,它有自己的PropertyService类来管理可重新加载的属性等等。
事情很好,但问题是现在我有这个属性服务,对于我的项目,还有一个application.yml用于spring boot相关属性。
问题是:有没有办法告诉spring boot从属性提供程序加载属性 - 自定义类或排序适配器?
通过这种方式,我只能通过现有模块管理我的属性
感谢您的帮助!
答案 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