使用 Spring-Boot 自动配置的 JavaMailSender,如何使用 Jasypt 库支持加密的 (username/password) 属性?

With Spring-Boot auto-configured JavaMailSender, how to support encrypted (username/password) properties using Jasypt library?

JavaMailSender 正在我的 Spring 启动应用程序中自动配置。如何使用注释允许属性文件中属性 "spring.mail.username" 和 "spring.mail.password" 的加密值 使用 Jasypt 库?请帮忙。

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class SimpleMailController {

@Autowired
private JavaMailSender sender;

我破解了

  1. 将注解@EnableEncryptableProperties 添加到我的应用程序class。
  2. 在 gradle 脚本中添加 jasypt spring 引导启动程序依赖 -

compile('com.github.ulisesbocchio:jasypt-spring-boot-starter:2.0.0')

我的应用程序中使用的所有属性现在默认支持加密值。