Java Spring引导中带有YAML配置的初始化Bean
在SpringBoot中初始化bean或服务时,我想阅读一些属性,比如DB访问配置 有人知道好方法吗 这是我当前的代码片段Java Spring引导中带有YAML配置的初始化Bean,java,spring,spring-boot,Java,Spring,Spring Boot,在SpringBoot中初始化bean或服务时,我想阅读一些属性,比如DB访问配置 有人知道好方法吗 这是我当前的代码片段 public class SampleApplication implements ApplicationRunner { @Autowired private YAMLConfig myConfig; @Override public void run(ApplicationArguments args) throws Exception
public class SampleApplication implements ApplicationRunner
{
@Autowired
private YAMLConfig myConfig;
@Override
public void run(ApplicationArguments args) throws Exception
{
System.out.println(myConfig != null); //YAMLConfig has been intialized here
}
public SampleApplication()
{
System.out.println(myConfig == null); //myConfig is null
}
@Configuration
public static class Config
{
@Bean
@ConditionalOnProperty(value = {"batch.execute"}, havingValue = "SampleApplication")
public SampleApplication sampleApplication()
{
return new SampleApplication();
}
}
}
@Configuration
@EnableConfigurationProperties
@ConfigurationProperties
public class YAMLConfig
{
private String environment;
public String getEnvironment()
{
return environment;
}
public void setEnvironment(String environment)
{
this.environment = environment;
}
}
谢谢你看这个 在
SampleApplication
类中创建此方法
@PostConstruct
public void init() {
// at this point, all the dependency injection has happened already
myConfig.doStuff()
}
在所有bean初始化完成后,spring会自动调用它。对此没有正确的答案。任何适合你需要的。您使用
@ConfigurationProperties
的方式非常好。您也可以对数据库访问配置执行相同的操作。如果你出示yml,也许我们能帮上忙