1. 程式人生 > 其它 >SpringBoot三種任務

SpringBoot三種任務

任務

  • 非同步任務

啟動類加上@EnableAsync註解

@EnableAsync
@SpringBootApplication
public class Springboot10MessionyibuApplication {

    public static void main(String[] args) {
        SpringApplication.run (Springboot10MessionyibuApplication.class, args);
    }

}

將方法標註為非同步方法 @Async

@Service
public class AsyncService {
    //告訴spring這是一個非同步的方法
    @Async
    public void hello(){
        try {
            Thread.sleep (3000);
        } catch (InterruptedException e) {
            e.printStackTrace ();
        }
        System.out.println ("資料正在處理。。。");
    }

}
  • 定時任務

  • 郵件任務

匯入依賴

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

開啟qq郵箱中Smtp服務

配置檔案

[email protected]
spring.mail.password=xxxxxxxxxxxx
spring.mail.host=smtp.qq.com
#開啟加密驗證
spring.mail.properties.mail.smtp.ssl.enable=true

編寫內容測試

//一般放到Controller或著封裝為一個方法
@SpringBootTest
class Springboot10MessionyibuApplicationTests {
    @Autowired
    JavaMailSender javaMailSender;
    @Test
    //簡單郵件傳送
    void contextLoads() {
        SimpleMailMessage simpleMailMessage = new SimpleMailMessage ();

        simpleMailMessage.setSubject ("jsp 你好");
        simpleMailMessage.setText ("謝謝");
        simpleMailMessage.setTo ("[email protected]");
        simpleMailMessage.setFrom ("[email protected]");

        javaMailSender.send (simpleMailMessage);
    }
    @Test
        //複雜郵件傳送
    void contextLoads1() throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage ();

        //組裝
        MimeMessageHelper helper = new MimeMessageHelper (mimeMessage,true);
        helper.setSubject ("slla");
        helper.setText ("<p>xxxx<p>",true);//html樣式
        helper.setTo ("[email protected]");
        helper.setFrom ("[email protected]");
        //附件
        helper.addAttachment ("1.jpg",new File ("C:\\Users\\Administrator\\Desktop\\1.jpg"));
        javaMailSender.send (mimeMessage);
    }
     //封裝為一個工具類
    /**
    * @Param html
    * @Param subject
    * @throws MessagingException
    * @Author Liuyunsan
    * */
    public void sendMail(Boolean html, String  subject,String text,String to,String from,String Filename,String Filepath) throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage ();

        //組裝
        MimeMessageHelper helper = new MimeMessageHelper (mimeMessage,true);
        helper.setSubject (subject);
        helper.setText (text,html);//html樣式
        helper.setTo (to);
        helper.setFrom (from);
        //附件
        helper.addAttachment (Filename,new File (Filepath));
        javaMailSender.send (mimeMessage);
    }

}