這篇文章給大家介紹SpringBoot中怎么利用RabbitMQ實(shí)現(xiàn)用戶注冊,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
大洼ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!實(shí)現(xiàn)步驟
添加rabbitmq依賴
添加rabbitmq配置
spring: rabbitmq: addresses: 127.0.0.1 username: guest password: guest port: 5672
修改controller類
package com.lytw13.demo.controller;import com.lytw13.demo.model.TbUser;import com.lytw13.demo.service.UserService;import com.lytw13.demo.util.MailUtil;import org.springframework.amqp.rabbit.annotation.RabbitListener;import org.springframework.amqp.rabbit.core.RabbitTemplate;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestBody;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestController@RequestMapping("user")public class UserController { @Autowired UserService userService; @Autowired RabbitTemplate rabbitTemplate; @PostMapping("save") public void save(@RequestBody TbUser user) { userService.save(user); rabbitTemplate.convertAndSend("email.direct","email.direct",user); }}
修改service實(shí)現(xiàn)類
public void save(TbUser user) { long startTime = System.currentTimeMillis(); userMapper.insert(user); long endTime = System.currentTimeMillis(); System.out.println("耗時:"+(endTime-startTime)); } @RabbitListener(queues = "email.direct") public void sendEmail(TbUser user) { List
現(xiàn)在就完成了,當(dāng)用戶發(fā)送注冊信息的時候,會推送給rabbitmq,然后我們只需要定義個方法添加上@RabbitListener(queues = "email.direct")注解進(jìn)行實(shí)時監(jiān)聽,注意主啟動類上需要添加@EnableRabbit開啟rabbit ,當(dāng)監(jiān)聽到用戶注冊的時候,不需要一直等待發(fā)送郵件成功,就可以先將頁面返回給用戶,而不是一直等待,頁面一直加載不了(瀏覽器一直轉(zhuǎn)圈),使用戶體驗(yàn)變差,這就是用rabbitmq實(shí)現(xiàn)異步操作的最簡單用法。
關(guān)于SpringBoot中怎么利用RabbitMQ實(shí)現(xiàn)用戶注冊就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。