Я пытаюсь использовать @Value для загрузки свойств из файлов свойств конкретного профиля в разделе ресурсов dir, но получаю сообщение "не удалось разрешить propertyPlaceHolder".Ниже приведен мой код.
@ComponentScan(basePackages="com.my.package")
@Import({DevConfig.class,QAConfig.class}
@SpringBootApplicaton()
public class Config(){
@Value("${someProperty"})
private String property;
@Bean
public void getProperty(){
return property;
}
//other beans
}
DevConfig.java
@Configuration
@Profile("dev")
public class DevConfig {
@Bean
public static PropertyPlaceholderConfigurer properties() {
PropertyPlaceholderConfigurer ppc = new PropertyPlaceholderConfigurer();
Resource[] resources = new ClassPathResource[] { new ClassPathResource("dev/application-dev.properties") };
ppc.setLocations(resources);
ppc.setIgnoreUnresolvablePlaceholders(true);
return ppc;
}
}
MainClass
public class Main {
public static void main(String args[]) {
ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);
SomeBean bean = context.get("beanName",SomeBean.class);
//logic follows
}
}
Я делаю это, потому что мне нужно запустить его как отдельное приложение.Я знаю, что с этим что-то не так, но я не знаю, что.