我試圖使用的FreeMarker來發送使用Spring電子郵件創建HTML。我不想從文件訪問模板,而是從數據庫獲取它(Mongo,但任何數據庫都是相同的)。 我現在的配置如下:定義FreeMarker的自定義模板裝載機春天
<!-- freemarker config -->
<bean id="freemarkerConfiguration" class="org.springframework.ui.freemarker.FreeMarkerConfigurationFactoryBean">
<property name="preTemplateLoaders">
<list>
<ref bean="databaseTemplateLoader"/>
</list>
</property>
</bean>
<bean name="databaseTemplateLoader" class="com.myapp.service.MongoDBToFreeMarkerTemplateLoader"/>
當我自動裝配的配置對象,我得到以下異常:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [freemarker.template.Configuration] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency.
我使用下面的代碼自動裝配:
@Autowired
Configuration freeMarkerTemplateEngine;
無依賴注入(即當使用「新的配置()」和手動設置自定義加載程序),它工作正常,但顯然我想堅持到DI在這裏。
還有什麼我需要爲了做到這一點來定義?我遵循this blog,它沒有說任何其他的東西是必要的。
通過什麼Auto需要'Configuration'在這裏連線? – ddekany
爲了使用模板引擎,我需要訪問其「配置」對象,以便我可以調用freeMarkerTemplateEngine.getTemplate(templateName); – TheZuck
如果有更好的方法來做到這一點,請分享,我接受建議 – TheZuck