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消息
    }
}










