1 package de.juplo.demos.multiplebeans;
3 import lombok.AllArgsConstructor;
4 import org.springframework.boot.SpringApplication;
5 import org.springframework.boot.env.EnvironmentPostProcessor;
6 import org.springframework.core.env.ConfigurableEnvironment;
7 import org.springframework.core.env.PropertySource;
9 import java.util.Arrays;
12 public class MultipleBeansEnvironmentPostProcessor implements EnvironmentPostProcessor {
15 public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
17 for (PropertySource source : environment.getPropertySources()) {
18 Object found = source.getProperty("juplo.sites");
20 sites = found.toString();
24 throw new IllegalArgumentException("Parameter juplo.sites is not set!");
26 application.addInitializers(new MultipleBeansApplicationContextInitializer(
27 Arrays.stream(sites.split(","))
28 .map(site -> site.trim())
29 .toArray(size -> new String[size])));