Spring ROO: как сохранить настройки электронной почты в базе данных?

#email #spring-roo

#Адрес электронной почты #spring-roo

Вопрос:

Spring ROO имеют встроенную поддержку электронной почты

Итак, вы можете настроить свойства отправки электронной почты с помощью следующей команды:

 email sender setup --hostServer smtp.gmail.com --username 
<Your email address> --password <Your email password> --port 587 --protocol SMTP
  

Выполнение приведенной выше команды приводит к созданию файла email.properties, в котором хранятся предоставленные настройки электронной почты.

Теперь остальные команды электронной почты можно использовать для настройки шаблона электронной почты и внедрения шаблона в контроллер (или другой класс обслуживания).

Итак, мой вопрос в том, как я могу продолжить после выполнения вышеуказанных команд, чтобы переместить настройки в email.properties в таблицу базы данных, а затем заставить остальную инфраструктуру электронной почты считывать настройки из этой таблицы базы данных? Это упростит использование поддержки каркасов Roo для создания пользовательского интерфейса для обновления настроек электронной почты.

Ответ №1:

Вы должны создать factory bean.

  • на заводской компонент перейдите в настройки электронной почты из email.properties файла
  • проверьте, существуют ли настройки в базе данных
  • если нет — запишите настройки в базу данных
  • каждый раз при создании JavaMailSender заводским методом проверяйте наличие изменений в базе данных и обновляйте JavaMailSenderImpl объект