注:我们的yml配置可能有多层,这是如果使用@ConfigurationProperties(prefix="")里面的前缀匹配就会映射不上。
1:配置文件结构
mq:
order:
#创建订单
create:
exchange: orderCreateExchange
queue: orderCreateQueue
routeKey: OrderCreateRouteKey
#订单超时
overTime:
exchange: orderOverTimeExchange
queue: orderOverTimeQueue
routeKey: orderOverTimeRouteKey
配置类结构
@Data
@ConfigurationProperties(prefix = "mq")
public class RabbitProperties {
/**
* 默认配置
*/
private final Simple simple = new Simple();
/**
* 订单配置
*/
private final Order order = new Order();
@Data
public static class Simple {
/**
* 默认交换机
*/
private String exchange;
/**
* 默认队列
*/
private String queue;
/**
* 默认路由key
*/
private String routeKey;
}
@Data
public static class Order {
/**
* 创建订单
*/
private Create create = new Create();
/**
* 订单超时
*/
private OverTime overTime = new OverTime();
@Data
public static class Create {
/**
* 创建订单交换机
*/
private String exchange;
/**
* 创建订单队列
*/
private String queue;
/**
* 创建订单路由key
*/
private String routeKey;
}
@Data
public static class OverTime {
/**
* 创建订单交换机
*/
private String exchange;
/**
* 创建订单队列
*/
private String queue;
/**
* 创建订单路由key
*/
private String routeKey;
}
}
}