Spring Boot 參考指南(驗證&傳送電子郵件)

博弈發表於2019-01-19

35. 驗證

只要類路徑上有JSR-303實現(比如Hibernate驗證器),Bean validation 1.1支援的方法驗證特性就會自動啟用,這就讓bean方法在引數和/或返回值上使用javax.validation約束進行註解,使用這種帶註解的方法的目標類需要在型別級別上使用@Validated註解進行註解,以便搜尋它們的方法以找到內聯約束註解。

例如,以下服務觸發第一個引數的驗證,確保其大小在8到10之間:

@Service
@Validated
public class MyBean {

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

}

36. 傳送電子郵件

Spring框架為使用JavaMailSender介面傳送電子郵件提供了一個簡單的抽象,Spring Boot為它提供了自動配置以及啟動模組。

有關如何使用JavaMailSender的詳細說明,請參閱參考文件

如果spring.mail.host和相關庫(如spring-boot-starter-mail所定義的那樣)都是可用的,如果不存在就會建立一個預設的JavaMailSender,傳送方可以通過來自spring.mail名稱空間的配置項進一步定製,有關詳細資訊,請參閱MailProperties

特別是,某些預設超時值是無限的,你可能希望更改該值,以避免執行緒被無響應的郵件伺服器阻塞,如下面的示例所示:

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

還可以使用JNDI中的現有Session配置JavaMailSender

spring.mail.jndi-name=mail/Session

在設定jndi-name時,它優先於所有其他會話相關的設定。


上一篇:使用WebClient呼叫REST服務

下一篇:使用JTA分散式事務

相關文章