异步任务 定时 定时任务 邮件发送任务 邮件发送任务封装方法 可直接拿来用

任务

目录
异步任务
定时任务
邮件发送任务
       导入依赖
       配置文件
       邮件发送案例
       封装方法(可直接拿来用哦)

异步任务

@EnableAsync	//开启异步注解的功能
@Async			//告诉Spring这是一个异步的方法

定时任务

@EnableScheduling	//开启定时功能的注解
@Scheduled			//指定执行时间(注释于方法上)

例子:指定时间调用方法hello()

//在特定时间执行方法
//数据格式规则:秒	分	时	日	月	周几	年(年一般可忽略)
//@Scheduled(cron="0 13 10 * * ?")	//每天10:13分执行
//@Scheduled(cron="30 0/5 10,18 * * ?")	//每天的10点和18点,每隔5分钟执行一次
//@Scheduled(cron="0 15 10 ? * 1-6")	//每个月的周一到周六的10:15执行
//@Scheduled(cron="0 * * * * 0-7")
public void hello(){
	System.out.println("hello");
}

邮件发送

  1. 导入依赖
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-mail</artifactId>
</denpendency>


2. 配置文件(mail.yaml)

spring.mail.username=[邮箱]
spring.mail.password=[通过邮箱获取的加密字段]
spring.mail.host=smtp.qq.com
#开启加密验证(qq邮箱需要)
spring.mail.properties.mail.smtp.ssl.enable=true


3. 使用邮件发送

@Autowired
JavaMailSenderImpl mailSender;

//简单邮件发送
public void easySenderMail(){
	SimpleMailMessage mailMessage=new SimpleMailMessage();
	mailMessage.setSubject("主题");
	mailMessage.setText("内容");
	mailMessage.setTo("收件人邮箱");
	mailMessage.setFrom("发件人邮箱");
	
	mailSender.send(mailMessage);
}

//复杂邮件发送
public void complexSenderMail(){
	MimeMessage mimeMessage=mailSender.createMimeMessage();
	//组装
	MimeMessageHelper helper=new MimeMessageHelper(mimeMessage,true);
	//正文
	helper.setSubject("主题");
	// true	支持html
	helper.setText("内容",true);
	
	//附件
	helper.addAttachment("文件名",new File("附件地址"));

	helper.setTo("收件人邮箱");
	helper.setFrom("发件人邮箱");

	mailSender.send(mimeMessage);
} 


4. 发送邮件的封装方法

public void senderMail(Boolean html,String subject,String text,
		String attachmentName,String attachmentPath,String to,String from){
	MimeMessage mimeMessage=mailSender.createMimeMessage();
	//组装
	MimeMessageHelper helper=new MimeMessageHelper(mimeMessage,true);
	//正文
	helper.setSubject(subject);
	// true	支持html
	helper.setText(text,html);
	
	//附件
	helper.addAttachment(attachmentName,new File(attachmentPath));

	helper.setTo(to);
	helper.setFrom(from);

	mailSender.send(mimeMessage);
} 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Java中的处理器(Handler)是一种机制,用于将任务(也称为消息)分派给线程进行处理。它可以用于在不同线程之间传递消息,从而实现线程间的通信和同步。 Java中的处理器通常与线程池配合使用。当应用程序需要执行一项任务时,它会将任务封装一条消息,然后将该消息发送到指定的处理器中。处理器会将消息放入一个消息队列中,并由线程池中的线程不断从队列中取出消息进行处理。这种方式可以有效地利用线程资源,提高系统的并发能力。 要使用Java的处理器机制,你需要创建一个继承自`android.os.Handler`的类,并实现它的`handleMessage`方法。这个方法用于处理从消息队列中取出的消息。你还可以重写`dispatchMessage`方法来定制如何分派消息。当你需要执行一项任务时,你可以使用`sendMessage`方法任务封装消息并发送给处理器。 使用处理器的一个优点是,你可以使用它在不同线程之间传递消息,从而实现线程间的通信和同步。但是,你需要 ### 回答2: Java中的Handler是一个重要的处理机制,用于处理线程之间的通信和消息传递。Handler可以认为是发送消息和处理消息的中介者。 在Java中,一个Handler对象可以与一个特定的线程相关联。当一个线程想要向另一个线程发送消息时,它可以通过Handler对象发送消息。要使用Handler,我们需要首先创建一个Handler对象,并将其与接收消息的线程关联起来。一旦关联完,我们可以使用Handler的post方法发送消息给接收线程。 接收线程可以通过重写Handler的handleMessage方法来处理接收到的消息。当接收线程收到消息时,它会自动调用handleMessage方法,并将收到的消息作为参数传递给该方法。这样,处理线程就可以根据接收到的消息类型执行相应的操作。 Handler的处理机制还具有一些其他的特性。例如,我们可以为Handler设置定时任务,使其在指定的时间间隔内执行某个任务。此外,我们还可以通过Handler实现线程之间的同步,从而避免并发访问共享资源时的竞争条件。 总而言之,Java Handler是一种用于处理线程间通信和消息传递的重要机制。通过Handler,不同的线程可以安全地发送和接收消息,并实现特定的处理逻辑。同时,Handler还具备定时任务和线程同步的功能,使得线程之间的通信更加稳定和有序。 ### 回答3: Java Handler 是用来处理线程之间通信的机制,它允许你发送和处理消息或者任务。在 Java 中,线程之间的通信一般是通过共享内存或者锁来实现的。然而,这些方法可能会导致竞态条件或者死锁的问题。 相比之下,Java Handler 使用了消息队列的方式来处理线程之间通信。处理线程通过在消息队列中发送消息或者任务,然后由接收线程从消息队列中读取并处理这些消息或者任务。 使用 Java Handler 的好处之一是它可以帮助开发者解决线程之间通信时的竞态条件和死锁问题。由于消息队列是基于先进先出的原则,处理线程可以按顺序读取和处理消息,避免了竞态条件的发生。 另一个好处是 Java Handler 支持异步处理消息或者任务。处理线程可以继续执行其他任务,并在消息或者任务准备就绪时进行处理。这可以提升程序的响应性能和处理效率。 使用 Java Handler 还可以实现线程之间的解耦。发送消息的线程不需要知道接收消息的线程是谁,只需要发送消息到相应的 Handler。这样可以简化代码的编写和维护,并提高代码的复用性和可扩展性。 总的来说,Java Handler 提供了一种可靠且高效地处理线程之间通信的机制。它通过使用消息队列来解决竞态条件和死锁问题,并支持异步处理消息和任务,同时还可以实现线程之间的解耦。这使得开发者能够更好地管理和控制多线程程序,增强了程序的可靠性和性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RyanBruce

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值