#spring.rabbitmq.port=
server.port=
spring.application.name=
spring.rabbitmq.host=
spring.rabbitmq.username=
spring.rabbitmq.password=
spring.rabbitmq.port=
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication(scanBasePackages={"com.demo"})
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
package com.demo.common;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
public class MyRabbitListener {
// 监听testQueue这个队列
@RabbitListener(queues = "testQueue")
public void test(String msg){
// 打印接收到的消息
System.out.println("msg--------------------------------------------------------"+msg);
}
}
package com.demo.common;
import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class RabbitConfig {
@Bean
Queue testQueue(){
// 队列名称
return new Queue("testQueue");
}
/**
* 交换机
* @return
*/
@Bean
DirectExchange testExchange(){
return new DirectExchange("testExchange");
}
/**
* 将交换机与队列进行绑定
*/
@Bean
Binding testBinding(){
return BindingBuilder.
// 绑定消息队列到交换机
bind(testQueue()).
to(testExchange()).
// routingKey 为 testKey
with("testKey");
}
}
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>