Demonstration of multiple dynamically instantiated beans
[demos/multiple-beans] / src / main / java / de / juplo / demos / multiplebeans / MultipleBeansApplicationContextInitializer.java
diff --git a/src/main/java/de/juplo/demos/multiplebeans/MultipleBeansApplicationContextInitializer.java b/src/main/java/de/juplo/demos/multiplebeans/MultipleBeansApplicationContextInitializer.java
new file mode 100644 (file)
index 0000000..28f22df
--- /dev/null
@@ -0,0 +1,24 @@
+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;
+
+@AllArgsConstructor
+public class MultipleBeansApplicationContextInitializer
+        implements
+        ApplicationContextInitializer<ConfigurableApplicationContext> {
+
+    private final String[] sites;
+
+
+    @Override
+    public void initialize(ConfigurableApplicationContext context) {
+        ConfigurableListableBeanFactory factory = context.getBeanFactory();
+        for (String site : sites) {
+            SiteController controller = new SiteController(site, "Descrition of site " + site);
+            factory.registerSingleton("/" + site, controller);
+        }
+    }
+}