@EnableAsync
异步开启注解
@Async
执行异步注解
就springboot而言,使用异步是非常简单的,只需要两步:
@EnableAsync
如下,//开启异步注解
@EnableAsync
@SpringBootApplication(scanBasePackages = {"com.xxx.xxx.*"})
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
@Async
注解开启执行就可以, /**
*发送验证码
*
* @param email
* @return
*/
@RequestMapping(value = "/valMail", method = RequestMethod.GET)
@Async//异步执行
public Boolean valEmail(@RequestParam("email") String email, @RequestParam("appId") Integer appId) {
//邮箱格式
ResponseEnum.REGEXP_EMAIL_ERROR.assertEquals(false, RegExpUtil.isEmail(email));
//邮箱是否存在
ResponseEnum.USER_HAS_EXISTED.assertEquals(true, userFacade.emailExistsOfAppid(email, appId));
//邮箱验证码是否发送
String key = String.format("%s-%s", email, SmsConstants.DyType.USER_REGISTER);
ResponseEnum.USER_SMS_SENTED.assertEquals(true, redisUtil.hasKey(key));
//发送验证码
return emailFacade.emailSend(key, email, SmsConstants.DyType.USER_REGISTER, "");
}