spring使用@Resource 注入map

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

}

你可能感兴趣的:(spring技术,spring,java,后端)