FreeMarker を使用して、Spring を使用して電子メールを送信するための html を作成しようとしています。ファイルからテンプレートにアクセスしたくはありませんが、db から取得します (Mongo ですが、どのデータベースも同じです)。私の現在の構成は次のとおりです。
<!-- 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"/>
Configuration オブジェクトを自動配線すると、次の例外が発生します。
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.
次のコードを Autowire に使用します。
@Autowired
Configuration freeMarkerTemplateEngine;
依存性注入がなければ (つまり、"new Configuration()" を使用してカスタム ローダーを手動で設定する場合)、問題なく動作しますが、ここでは DI に固執したいと思います。
これを行うために定義する必要があるものは他にありますか? 私はこのブログをフォローしましたが、他に何も必要とは言われていません。