1.Spring mail 邮件服务及其参数配置(properties文件的读写)
为了使用方便,采用静态方法的实现方式,其中的JavaMailSenderImpl 实例是通过代码的方式创建的,脱离了Spring容器的管理。当然也可以使用Spring注入的方式:
在代码中直接这样注入:
上面用到的东西还是蛮多的,其中属性文件的读写可能要花费一点时间去理解。Spring封装的邮件API使用起来非常简单。在实际应用中,系统参数配置修改还是常见的需求,一般这种键值对的配置用一个属性文件保存即可,通过修改属性文件达到修改参数配置的目的,对于不需要更改的只读的属性文件,例如jdbc.properties,那使用Spring容器来管理加载一次即可,这些数据库的连接等信息并不需要动态更改,如果真的需要动态切换数据库,那么可以参考上面提供的一种思路。
另外当然可以采用数据库存储的方式来实现,单独建立一张键值对的表,配置参数的修改则转换为了对普通表的增删改。
2.SpringBoot下动态更改配置的邮件服务
在SpringBoot下实现邮件发送服务是非常方便的,在pom文件中引入相关依赖后,只需在application.properties文件中写入smtp服务器、发件邮箱、授权码等配置后,便可正常使用了。
但是,把配置写在application.properties就意味着我们无法动态地更改以上配置,当有这种动态指定发件人的需求时,就可以用下面这种方式:
需传递的动态参数:
实现JavaMailSender:
建立邮件:
后两步可以封装成一个方法,接收第一步所列的参数。这样就可以动态的修改邮件服务的配置了。