spring使用@Resource 注入map
注入多个Service:
/**
* 单笔付款状态 MQ消费
*
* @author zkg
* @since 2024-09-06 16:11:19
*/
@Slf4j
@Component
@RocketMQMessageListener(topic = PayGlobalConstants.PAY_APPL_SINGLE_TOPIC, consumerGroup = PayGlobalConstants.PAY_APPL_SINGLE_CONSUMER_GROUP, selectorExpression = PayGlobalConstants.PAY_APPL_SINGLE_TAG)
public class PayApplSingleConsumer extends AbstractMessageListener<PayApplSingleMessage> {
@Resource
private Map<String, PayApplSingleService> serviceMap;
@Override
protected void handleMessage(PayApplSingleMessage message) {
try {
log.info("PayApplSingleConsumer=======message: {}", message);
// 付社保公积金
serviceMap.get("SGFK").handleMessage(message);
} catch (Exception e) {
log.error("PayApplSingleConsumer 处理异常: {}", e);
}
}
}
PayApplSingleService:
public interface PayApplSingleService {
/**
* mq消息处理
*
* @param message 消息体
*/
void handleMessage(PayApplSingleMessage message);
}
SipfApplServiceImpl 实现 PayApplSingleService
@Service("SGFK")
public class SipfApplServiceImpl implements PayApplSingleService {
@Resource
private CommonFlowApi commonFlowApi;
@Resource
private PaySipfApplMapper paySipfApplMapper;
/**
* mq消息处理
*
* @param message 消息体
*/
@Override
public void handleMessage(PayApplSingleMessage message) {
// 消费mq消息
}
}