Printemps de Démarrage: Utilisation de la base de données et l'application.propriétés de configuration

J'ai besoin d'enregistrer la configuration du Printemps de Démarrage de l'application dans la base de données.

Est-il possible de stocker les informations de base de données dans le application.properties et les utiliser pour vous connecter à la base de données et d'en extraire tous les autres propriétés de là?

Donc mon application.properties ressemblerait à:

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

Et de l'autre la configuration pourrait être récupérée à partir de la base de données avec quelque chose comme ceci:

@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();
    }

}

Avec ApplicationConfiguration comme un Entity.

Mais le Printemps Boot ne pas obtenir la configuration de la base de données.

vous devriez être en mesure d'obtenir la db de configuration depuis un fichier de propriétés que vous avez écrit. voyez-vous une erreur dans la console?
Je reçois la configuration de la application.properties. Et je peux me connecter à la base de données et enregistrer les Entités. Mais les propriétés de la base de données ne sont pas chargées.
alors qu'est-ce ConfigurationRepository faire?
Il récupère la configuration. Mais le Printemps Boot ne pas "charger" au démarrage. Par exemple, la propriété spring.jpa.show-sql=true est enregistré dans la base de données (avec d'autres propriétés). Si j'ai mis cette propriété dans la application.properties fichier, il fonctionne très bien, mais si je l'ai mis dans la base de données qu'il n'a pas d'effet sur le Printemps de Démarrage.
Comment puis-je dire de Printemps de Démarrage pour charger les valeurs de la base de données comme le application.properties fichier?

OriginalL'auteur deve | 2016-11-07