我需要在数据库中保存Spring Boot应用程序的配置。
是否可以将数据库信息存储在中,application.properties并使用它们来连接数据库并从中检索所有其他属性?
所以我application.properties看起来像:
spring.datasource.url=jdbc:sqlserver://localhost:1433;databaseName=mydb
spring.datasource.username=user
spring.datasource.password=123456
spring.jpa.database-platform=org.hibernate.dialect.SQLServer2012Dialect
Run Code Online (Sandbox Code Playgroud)
其他配置将从数据库中获取,如下所示:
@Configuration
@PropertySource(value = {"classpath:application.properties"})
public class ConfigurationPropertySource {
private final ConfigurationRepository configurationRepository;
@Autowired
public ConfigurationPropertySource(ConfigurationRepository configurationRepository) {
this.configurationRepository = configurationRepository;
}
public String getValue(String key) {
ApplicationConfiguration configuration = configurationRepository.findOne(key);
return configuration.getValue();
}
}
Run Code Online (Sandbox Code Playgroud)
与ApplicationConfiguration作为Entity。
但是Spring Boot不会从数据库中获取配置。