Spring Cloud uses SpringApplication as an api in a few different ways to get at boots configuration processing.

  1. bootstrap
  2. re-fetching remote config and re-applying to environment
  3. config server for loading config files (from git, filesystem, etc...)

For the 1st, hopefully, we can eliminate bootstrap all together.

To test the 2nd, I made ConfigDataEnvironment, its constructor, and processAndApply() public and made a change here https://github.com/spring-cloud/spring-cloud-commons/pull/703/commits/24f444bbc4f409206413de5e34a666a904cfdbf6 and it was successful.

For the 3rd, I still need to do a POC on config server.

Comment From: spencergibb

In doing very initial coding for config server (not client like I did with the resolver), it may be nice to have an api for setting up spring.config.location and friends. Currently having to add a PropertySource to the environment passed into ConfigDataEnvironment.

Comment From: mbhave

@spencergibb We did a POC for spring-cloud-consul-config using a ConfigDataLocationResolver. I guess that falls in the bootstrap bucket?

Comment From: spencergibb

@mbhave yes, I used it to do my config server POC. The thing that used to initiate consul config started in bootstrap, so I guess yeah.