Я ищу шаблон свободного маркера, который может макетировать общую конфигурацию пружины путем вставки значений для обязательных / дополнительных значений.Вот пример для пояснения того, что я говорю:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<#if .vars["spring.beans"]??>
<#list _fn.split(.vars["spring.beans"], ",", true, true) as beanName>
<bean id="${beanName}" class="${.vars["spring.beans.${beanName}.class"]}">
</bean>
</#list>
</#if>
</beans>
В приведенном выше коде я обозначил "spring.beans" и "spring.beans. $ {BeanName} .class" как свойства вФайл .properties, который выглядит примерно так:
spring.beans = hello-world, goodbye-world
spring.beans.hello-world.class = com.ms.lcep.configuration.model.test.springtest.HelloWorld
spring.beans.goodbye-world.class = com.ms.lcep.configuration.model.test.springtest.GoodbyeWorld
В результате я получаю разрешенный файл beans.xml, который в Spring может быть запущен как AppContext.Выходные данные выглядят так:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
<bean id="hello-world" class="com.ms.lcep.configuration.model.test.springtest.HelloWorld">
</bean>
<bean id="goodbye-world" class="com.ms.lcep.configuration.model.test.springtest.GoodbyeWorld">
</bean>
</beans>
Что я хочу знать, так это то, есть ли способ расширить это до шаблона, который инкапсулирует всю схему конфигурации Spring?
Спасибо