我想要这样的东西:
@SpringBootApplication
@MyPropertySource(value = "general.properties", addtionalInfo = SomeEnum.SOME_VALUE)
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@MyPropertySource
是我用于加载属性的自定义注释:
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface MyPropertySource {
String value();
SomeEnum additionalInfo();
}
我创建了自己的PropertySourceLoader
并定义了是否在我的spring.factories
文件中,但是当涉及到使用@PropertySource
加载的属性时,Spring Boot似乎并没有使用任何在PropertySourceLoader
文件中定义的spring.factories
。这些属性到底加载在哪里?以及如何使用我自己的@PropertySource
注释来自定义属性加载?