-1
Я пытаюсь использовать @ConfigurationProperties для связывания свойств из файла свойств. Но когда я пытаюсь напечатать эти значения, на самом деле они имеют нулевые или значения по умолчанию для типа данных java. Все нижеследующие java & файл свойств находятся в одном пакете.@ConfigurationProperties не привязывает значения. Получение значений null или по умолчанию для типов данных
Вот код:
@SpringBootApplication
@ComponentScan
@EnableConfigurationProperties
public class SimpleMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ctx = SpringApplication.run(BeanLoader.class, args);
PropertyLoader pl = ctx.getBean(PropertyLoader.class);
System.out.println(pl.getName());
}
}
import org.springframework.boot.context.properties.ConfigurationProperties;
@ConfigurationProperties("test")
public class PropertyLoader {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class BeanLoader {
@Bean
public PropertyLoader getPropertyLoader(){
return new PropertyLoader();
}
}
application.properties
test.name=karthik
Почему вы создаете новый 'AnnotationConfigApplicationContext' и пытается получить бобы из этого? Почему вы пытаетесь определить два компонента «PropertyLoader»? –
Не используйте на нем '@ Component'. – chrylis
Я могу автоустанавливать его, но AnnotationConfigApplicationContext не должен быть проблемой при загрузке бобов. – karthik