WIP
[demos/multiple-beans] / src / main / java / de / juplo / demos / multiplebeans / MultipleBeansApplicationContextInitializer.java
1 package de.juplo.demos.multiplebeans;
2
3 import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
4 import org.springframework.context.ApplicationContextInitializer;
5 import org.springframework.context.ConfigurableApplicationContext;
6 import org.springframework.stereotype.Component;
7
8 public class MultipleBeansApplicationContextInitializer
9         implements
10         ApplicationContextInitializer<ConfigurableApplicationContext> {
11
12     @Override
13     public void initialize(ConfigurableApplicationContext context) {
14         context.refresh();
15         MultipleBeansProperties properties = context.getBean(MultipleBeansProperties.class);
16         ConfigurableListableBeanFactory factory = context.getBeanFactory();
17         for (MultipleBeansProperties.Site site : properties.sites) {
18             SiteController controller = new SiteController(site.name, site.description);
19             factory.registerSingleton("/" + site.name, controller);
20         }
21     }
22 }