From 031b0259628a2c5da59ce760d8871620c662820b Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Sat, 21 Nov 2020 00:39:54 +0100 Subject: [PATCH] WIP --- .../demos/multiplebeans/HomeController.java | 2 ++ ...MultipleBeansBeanFactoryPostProcessor.java | 29 ------------------- .../MultipleBeansProperties.java | 23 --------------- src/main/resources/application.yml | 9 +----- src/main/resources/templates/home.html | 25 ++++++++++++++++ 5 files changed, 28 insertions(+), 60 deletions(-) create mode 100644 src/main/java/de/juplo/demos/multiplebeans/HomeController.java delete mode 100644 src/main/java/de/juplo/demos/multiplebeans/MultipleBeansBeanFactoryPostProcessor.java delete mode 100644 src/main/java/de/juplo/demos/multiplebeans/MultipleBeansProperties.java create mode 100644 src/main/resources/templates/home.html diff --git a/src/main/java/de/juplo/demos/multiplebeans/HomeController.java b/src/main/java/de/juplo/demos/multiplebeans/HomeController.java new file mode 100644 index 0000000..2645129 --- /dev/null +++ b/src/main/java/de/juplo/demos/multiplebeans/HomeController.java @@ -0,0 +1,2 @@ +package de.juplo.demos.multiplebeans;public class HomeController { +} diff --git a/src/main/java/de/juplo/demos/multiplebeans/MultipleBeansBeanFactoryPostProcessor.java b/src/main/java/de/juplo/demos/multiplebeans/MultipleBeansBeanFactoryPostProcessor.java deleted file mode 100644 index 50bbbc7..0000000 --- a/src/main/java/de/juplo/demos/multiplebeans/MultipleBeansBeanFactoryPostProcessor.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.juplo.demos.multiplebeans; - -import org.springframework.beans.BeansException; -import org.springframework.beans.factory.config.BeanDefinition; -import org.springframework.beans.factory.config.BeanFactoryPostProcessor; -import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.beans.factory.support.BeanDefinitionBuilder; -import org.springframework.beans.factory.support.BeanDefinitionRegistry; -import org.springframework.stereotype.Component; - -public class MultipleBeansBeanFactoryPostProcessor implements BeanFactoryPostProcessor { - - public void postProcessBeanFactory(ConfigurableListableBeanFactory factory) throws BeansException { - - MultipleBeansProperties properties = factory.getBean(MultipleBeansProperties.class); - BeanDefinitionRegistry registry = (BeanDefinitionRegistry)factory; - - for (MultipleBeansProperties.Site site : properties.sites) { - BeanDefinition beanDefinition = - BeanDefinitionBuilder - .genericBeanDefinition(SiteController.class) - .addConstructorArgValue(site.name) - .addConstructorArgValue(site.description) - .getBeanDefinition(); - - registry.registerBeanDefinition("name", beanDefinition); - } - } -} diff --git a/src/main/java/de/juplo/demos/multiplebeans/MultipleBeansProperties.java b/src/main/java/de/juplo/demos/multiplebeans/MultipleBeansProperties.java deleted file mode 100644 index 5d1e2fd..0000000 --- a/src/main/java/de/juplo/demos/multiplebeans/MultipleBeansProperties.java +++ /dev/null @@ -1,23 +0,0 @@ -package de.juplo.demos.multiplebeans; - -import lombok.Getter; -import lombok.Setter; -import org.springframework.boot.context.properties.ConfigurationProperties; - -@ConfigurationProperties("juplo") -@Getter -@Setter -public class MultipleBeansProperties { - - String project; - Site[] sites; - - - @Getter - @Setter - public static class Site { - - String name; - String description; - } -} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 87bec8d..01ec1b0 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,9 +1,2 @@ juplo: - project: multiple-beans - sites: - - name: peter - description: This is the Home-Page of PETER - - name: ute - description: My name is Ute. I like cats! - - name: franz - description: Franz was here! + sites: peter, ute, franz diff --git a/src/main/resources/templates/home.html b/src/main/resources/templates/home.html new file mode 100644 index 0000000..e2b7b4f --- /dev/null +++ b/src/main/resources/templates/home.html @@ -0,0 +1,25 @@ + + + + Home + + + + +

Home

+
+ +
+
+

+ + This page links to the pages, that are served by the dynamically created beans. + +

+
+ + -- 2.20.1