С помощью Spring вы можете легко загружать ресурсы из файловой системы или из classpath (даже внутри jar-файла) без абсолютных путей.Вы должны использовать Resource
и его реализации, в основном FileSystemResource
или ClasspathResource
.Это пример:
Resource fileResource = new FileSystemResource("resources/templates");
После загрузки вы можете напрямую получить входной поток из экземпляра ресурса.
Кроме того, вы можете внедрить свой относительный путь в компонент, имеющий атрибут экземпляра типа Resource:
<bean id="mailer" class="test.Mailer">
<property name="templateResource" value="file:resource/templates" />
</bean>
Я не использую Velocity, но обычно я загружаю шаблоны таким образом, чтобы генерировать динамический контент с помощью freemarker.Вы также можете прикрепить изображение к электронному письму, как только вы загрузите его.