-1
@ConfigurationPropertiesを使用してプロパティファイルからプロパティをバインドしようとしています。しかし、私はそれらの値を実際にnullまたは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'を作成し、それから豆を取得しようとしている。ここで
は、コードのですか?なぜ2つの 'PropertyLoader'ビーンを定義しようとしていますか? –'@ Component'を使用しないでください。 – chrylis
私はそれをautowireすることができますが、AnnotationConfigApplicationContextはBeanをロードする際に問題になるべきではありません。 – karthik