package de.juplo.demos.multiplebeans;
+import lombok.AllArgsConstructor;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.stereotype.Component;
+@AllArgsConstructor
public class MultipleBeansApplicationContextInitializer
implements
ApplicationContextInitializer<ConfigurableApplicationContext> {
+ private final String[] sites;
+
+
@Override
public void initialize(ConfigurableApplicationContext context) {
- context.refresh();
- MultipleBeansProperties properties = context.getBean(MultipleBeansProperties.class);
ConfigurableListableBeanFactory factory = context.getBeanFactory();
- for (MultipleBeansProperties.Site site : properties.sites) {
- SiteController controller = new SiteController(site.name, site.description);
- factory.registerSingleton("/" + site.name, controller);
+ for (String site : sites) {
+ SiteController controller = new SiteController(site, "Descrition of site " + site);
+ factory.registerSingleton("/" + site, controller);
}
}
}