Spring Boot 参考指南(验证&发送电子邮件)

35. 验证

只要类路径上有JSR-303实现(好比Hibernate验证器),Bean validation 1.1支持的方法验证特性就会自动启用,这就让bean方法在参数和/或返回值上使用javax.validation约束进行注解,使用这种带注解的方法的目标类须要在类型级别上使用@Validated注解进行注解,以便搜索它们的方法以找到内联约束注解。html

例如,如下服务触发第一个参数的验证,确保其大小在8到10之间:java

@Service
@Validated
public class MyBean {

    public Archive findByCodeAndAuthor(@Size(min = 8, max = 10) String code,
            Author author) {
        ...
    }

}

36. 发送电子邮件

Spring框架为使用JavaMailSender接口发送电子邮件提供了一个简单的抽象,Spring Boot为它提供了自动配置以及启动模块。git

有关如何使用 JavaMailSender的详细说明,请参阅 参考文档

若是spring.mail.host和相关库(如spring-boot-starter-mail所定义的那样)都是可用的,若是不存在就会建立一个默认的JavaMailSender,发送方能够经过来自spring.mail命名空间的配置项进一步定制,有关详细信息,请参阅MailPropertiesgithub

特别是,某些默认超时值是无限的,你可能但愿更改该值,以免线程被无响应的邮件服务器阻塞,以下面的示例所示:spring

spring.mail.properties.mail.smtp.connectiontimeout=5000
spring.mail.properties.mail.smtp.timeout=3000
spring.mail.properties.mail.smtp.writetimeout=5000

还能够使用JNDI中的现有Session配置JavaMailSendersegmentfault

spring.mail.jndi-name=mail/Session

在设置jndi-name时,它优先于全部其余会话相关的设置。服务器


上一篇:使用WebClient调用REST服务

下一篇:使用JTA分布式事务

相关文章
相关标签/搜索