package com.porterhead.configuration; import com.porterhead.mail.InMemoryJavaMailSender; import com.porterhead.mail.MailSenderService; import com.porterhead.mail.MailSenderServiceImpl; import org.apache.velocity.app.VelocityEngine; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Profile; import org.springframework.mail.javamail.JavaMailSender; /** * @version 1.0 * @author: Iain Porter * @since 14/05/2013 */ @Configuration @Profile({"default", "test", "dev", "stage", "local"}) public class InMemoryMailServiceConfiguration { @Bean VelocityEngine velocityEngine() { VelocityEngine velocityEngine = new VelocityEngine(); velocityEngine.setProperty("resource.loader", "class"); velocityEngine.setProperty("class.resource.loader.class","org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader"); return velocityEngine; } @Bean() JavaMailSender mailSender() { return new InMemoryJavaMailSender(); } @Bean MailSenderService mailSenderService() { return new MailSenderServiceImpl(mailSender(), velocityEngine()); } }