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(){
System.out.println("testQueue--------------------");
// 队列名称
return new Queue("testQueue");
}
@Bean
DirectExchange testExchange(){
return new DirectExchange("testExchange");
}
@Bean
Binding testBinding(){
return BindingBuilder
.bind(testQueue())
.to(testExchange())
.with("testKey");
}
}
package com.demo.controller;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SendMsgController {
@Autowired
private RabbitTemplate rabbitTempate;
// 这个接口用于发送消息
@GetMapping("/send")
public String sendMsg(String msg) {
rabbitTempate.convertAndSend("testExchange","testKey",msg);
return "OK";
}
}
server.port=8081
spring.application.name=mq
spring.rabbitmq.host=
# 下面为默认值,在没有修改的情况下可写可不写
spring.rabbitmq.username=
spring.rabbitmq.password=
spring.rabbitmq.port=5672
package com.demo;
import javafx.application.Application;
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);
}
}
org.springframework.boot
spring-boot-starter-parent
2.1.4.RELEASE
org.springframework.boot
spring-boot-starter-amqp
org.springframework.boot
spring-boot-starter-web
org.projectlombok
lombok
true
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.amqp
spring-rabbit-test
test