上一篇文章介绍了如何搭建Rabbitmq,这篇文章说一下如何和spring-boot进行整合。这里主要用java config,当然你也可以用xml或者声明式注释配置
- 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
- yml配置
注意,这里有黄色下划线的项说明spring-boot没有提供自动配置,我这里是通过@ConfigurationProperties进行处理的。你也可以不这样处理
- 转换为properties对象
你可以不像我这样处理,可以用@Value,静态成员变量都可以
package com.wlf.demo.props;
import java.util.Map;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@Component
@ConfigurationProperties(prefix="spring.rabbitmq")
public class RabbitmqProps {
private String addresses;
private String username;
private String password;
private boolean publisherConfirms;
private String exchange;
private String queueName;
private Map<String,String> keys;
public String getAddresses() {
return addresses;
}
public void setAddresses(String addresses) {
this.addresses = addresses;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean isPublisherConfirms() {
return publisherConfirms;
}
public void setPublisherConfirms(boolean publisherConfirms) {
this.publisherConfirms = publisherConfirms;
}
public String getExchange() {
return exchange;
}
public void setExchange(String exchange) {
this.exchange = exchange;
}
public String getQueueName() {
return queueName;
}
public void setQueueName(String queueName) {
this.queueName = queueName;
}
public Map<String, String> getKeys() {
return keys;
}
public void setKeys(Map<String, String> keys) {
th