RabbitMQ从新手到熟悉(一)没用过消息队列?一文带你体验RabbitMQ收发消息

楔子

先给大家说声抱歉,最近一周都没有发文,有一些比较要紧重要的事需要处理。

今天正好得空,本来说准备写SpringIOC相关的东西,但是发现想要梳理一遍还是需要很多时间,所以我打算慢慢写,先把MQ给写了,再慢慢写其他相关的,毕竟偏理论的东西一遍要比较难写,像MQ这种偏实战的大家可以clone代码去玩一玩,还是比较方便的。

同时MQ也是Java进阶不必可少的技术栈之一,所以Java开发从业者对它是必须要了解的。

现在市面上有三种消息队列比较火分别是:RabbitMQRocketMQKafka

今天要讲的消息队列中我会以RabbitMQ作为案例来入门,因为SpringBoot的amqp中默认只集成了RabbitMQ,用它来讲会方便许多,且RabbitMQ的性能和稳定性都很不错,是一款经过时间考验的开源组件。

Read More

SpringBoot快速实现发送邮件

前言:Spring提供了非常好用的JavaMailSender接口实现邮件发送。由于SpringBoot的Starter模块也为此提供了自动化配置,所以在引入了spring-boot-starter-mail依赖之后,会根据配置文件中的内容去创建JavaMailSender实例,因此我们可以直接在需要使用的地方直接@Autowired来引入邮件发送对象。

Read More

@ControllerAdvice和@ExceptionHandler注解处理全局异常

前言:开发过程中,难免有的程序会因为某些原因抛出异常,而这些异常一般都是利用try ,catch的方式处理异常或者throw,throws的方式抛出异常不管。这种方法对于程序员来说处理也比较麻烦,对客户来说也不太友好,所以我们希望既能方便程序员编写代码,不用过多的自己去处理各种异常编写重复的代码又能提升用户的体验,这时候全局异常处理就显得很重要也很便捷了。

Read More

SpringBoot利用@Async注解实现异步调用

前言:异步编程是让程序并发运行的一种手段,使用异步编程可以大大提高我们程序的吞吐量,减少用户的等待时间。在Java并发编程中实现异步功能,一般是需要使用线程或者线程池。而实现一个线程,要么继承Thread类,要么实现Runnable接口,然后在run方法中写具体的业务逻辑代码。开发Spring的大神们,为了简化这类异步操作,已经帮我们把异步功能封装好了。Spring中提供了@Async注解,我们可以通过它即可开启异步功能,使用起来非常方便。

Read More