環境: IDEA版本2017.3.1 x64, JDK1.8, SpringBoot2.1.1
非同步任務
- 在需要開啟非同步的服務加上註解:@Async
@Service
public class AsyncService {
//告訴SpringBoot這是一個非同步任務,SpringBoot會自動開啟一個執行緒去執行
@Async
public void testAsyncService(){
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("執行非同步成功");
}
}
複製程式碼
- 在主配置類上新增開啟非同步註解功能:@EnableAsync
@EnableAsync //開啟非同步註解功能
public class SpringbootMybatisApplication {
複製程式碼
定時任務
- 在需要開啟定時任務的服務上新增註解
@Scheduled(cron = "0 * * * * MON-SAT")
/* {秒數} {分鐘} {小時} {日期} {月份} {星期} {年份(可為空)}
* cron的六個符號分別對應以上時間單位,空格隔開
* * 表示所有值;
* ? 表示未說明的值,即不關心它為何值;
* - 表示一個指定的範圍;
* , 表示附加一個可能值;
* / 符號前表示開始時間,符號後表示每次遞增的值;
*/
@Service
public class ScheduledService {
@Scheduled(cron = "0 * * * * MON-SAT")
public void testSchedule(){
System.out.println("測試定時任務成功");
}
}
複製程式碼
- 在主配置類上開啟定時任務註解功能:@EnableScheduling
郵件任務
- 引入郵件依賴元件
<!-- 引入郵件,如果發現注入失敗,可以自行到maven官網下載jar放進對應資料夾 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
複製程式碼
可能會產生的錯誤:注入失敗(可以自行到maven官網下載jar放進對應資料夾):
-
郵箱開啟POP3/SMTP服務
-
在主配置檔案(yml方式)中配置郵箱引數
spring:
mail:
username: yourqq@qq.com
password: xxxxxx //授權碼,在服務選項中獲取
host: smtp.qq.com //qq郵箱伺服器
properties:
mail:
smtp:
ssl:
enable: true //開啟安全連線
複製程式碼
- 測試郵件傳送
@Autowired
JavaMailSenderImpl mailSender;
/**
* 建立簡單訊息郵件
*/
@Test
public void testMail(){
SimpleMailMessage message = new SimpleMailMessage();
message.setSubject("這是主題");
message.setText("這是內容");
//收件人
message.setTo("xxxxx@qq.com");
//傳送人
message.setFrom("xxxxx@qq.com");
mailSender.send(message);
}
/**
* 建立複雜訊息郵件
*/
@Test
public void testMail02() throws MessagingException {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject("這是複雜訊息郵件主題");
helper.setText("<b style='color:red;'>這是複雜訊息郵件內容</b>",true);
//新增附件1
helper.addAttachment("1.jpg",new File("E:\\desktop\\8234.jpg"));
//新增附件2
helper.addAttachment("2.docx",new File("E:\\desktop\\形勢與政策課作業.docx"));
//收件人
helper.setTo("xxxx@qq.com");
//傳送人
helper.setFrom("xxxxx@qq.com");
mailSender.send(mimeMessage);
}
複製程式碼
測試成功
更多Spring Boot整合可瀏覽此部落格:malizhi.cn