使用spring注解时@Service注解,在注入时为null的问题

1、上工具类(使用上下文)


@Slf4j
@Component
public class SpringUtil implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    // 获取applicationContext
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        if (SpringUtil.applicationContext == null) {
            SpringUtil.applicationContext = applicationContext;
        }
        log.debug("获取ApplicationContext");
    }

    // 通过name获取Bean
    public static Object getBean(String name) {
        return getApplicationContext().getBean(name);
    }

    // 通过class获取Bean
    public static <T> T getBean(Class<T> clazz) {
        return getApplicationContext().getBean(clazz);
    }

    // 通过name,以及Clazz返回指定的Bean
    public static <T> T getBean(String name, Class<T> clazz) {
        return getApplicationContext().getBean(name, clazz);
    }

}

2、使用方法

 private WorkSignBusinessService initWorkFlowBusinessService(String tableName) {
        WorkSignBusinessService workSignBusinessService = null;
        switch (tableName) {
            case "t_agent_info":
                workSignBusinessService = workSignBusinessServiceAgentInfo == null ? SpringUtil.getBean(WorkSignBusinessServiceAgentInfo.class) : workSignBusinessServiceAgentInfo;
                break;
            case "t_applicant_info":
                workSignBusinessService = workSignBusinessServiceApplicantInfo== null ? SpringUtil.getBean(WorkSignBusinessServiceApplicantInfo.class) : workSignBusinessServiceApplicantInfo;
                break;
            case "t_case_handle":
                workSignBusinessService = workSignBusinessServiceCaseHandle== null ? SpringUtil.getBean(WorkSignBusinessServiceCaseHandle.class) : workSignBusinessServiceCaseHandle;
                break;
            case "t_case_handle_record":
                workSignBusinessService = workSignBusinessServiceCaseHandleRecord== null ? SpringUtil.getBean(WorkSignBusinessServiceCaseHandleRecord.class) : workSignBusinessServiceCaseHandleRecord;
                break;
            case "t_case_handle_user":
                workSignBusinessService = workSignBusinessServiceCaseHandleUser== null ? SpringUtil.getBean(WorkSignBusinessServiceCaseHandleUser.class) : workSignBusinessServiceCaseHandleUser;
                break;
            case "t_case_info":
                workSignBusinessService = workSignBusinessServiceCaseInfo== null ? SpringUtil.getBean(WorkSignBusinessServiceCaseInfo.class) : workSignBusinessServiceCaseInfo;
                break;
            case "t_case_modify_record":
                workSignBusinessService = workSignBusinessServiceCaseModifyRecord== null ? SpringUtil.getBean(WorkSignBusinessServiceCaseModifyRecord.class) : workSignBusinessServiceCaseModifyRecord;
                break;
            case "t_case_threerule":
                workSignBusinessService = workSignBusinessServiceCaseThreeRule== null ? SpringUtil.getBean(WorkSignBusinessServiceCaseThreeRule.class) : workSignBusinessServiceCaseThreeRule;
                break;
            case "t_case_work_extend":
                workSignBusinessService = workSignBusinessServiceCaseWorkExtend== null ? SpringUtil.getBean(WorkSignBusinessServiceCaseWorkExtend.class) : workSignBusinessServiceCaseWorkExtend;
                break;
            case "t_case_work_rl":
                workSignBusinessService = workSignBusinessServiceCaseWorkRl== null ? SpringUtil.getBean(WorkSignBusinessServiceCaseWorkRl.class) : workSignBusinessServiceCaseWorkRl;
                break;
            case "t_deliver_receiver":
                workSignBusinessService = workSignBusinessServiceDeliverReceiver== null ? SpringUtil.getBean(WorkSignBusinessServiceDeliverReceiver.class) : workSignBusinessServiceDeliverReceiver;
                break;
            case "t_handle_user_record":
                workSignBusinessService = workSignBusinessServiceHandleUserRecord== null ? SpringUtil.getBean(WorkSignBusinessServiceHandleUserRecord.class) : workSignBusinessServiceHandleUserRecord;
                break;
            case "t_overview_back_record":
                workSignBusinessService = workSignBusinessServiceOverViewBackRecord== null ? SpringUtil.getBean(WorkSignBusinessServiceOverViewBackRecord.class) : workSignBusinessServiceOverViewBackRecord;
                break;
            case "t_proxy_info":
                workSignBusinessService = workSignBusinessServiceProxyInfo== null ? SpringUtil.getBean(WorkSignBusinessServiceProxyInfo.class) : workSignBusinessServiceProxyInfo;
                break;
            case "t_respondent_info":
                workSignBusinessService = workSignBusinessServiceRespondentInfo== null ? SpringUtil.getBean(WorkSignBusinessServiceRespondentInfo.class) : workSignBusinessServiceRespondentInfo;
                break;
            case "t_sms_record":
                workSignBusinessService = workSignBusinessServiceSmsRecord== null ? SpringUtil.getBean(WorkSignBusinessServiceSmsRecord.class) : workSignBusinessServiceSmsRecord;
                break;
            case "t_sys_config":
                workSignBusinessService = workSignBusinessServiceSysConfig== null ? SpringUtil.getBean(WorkSignBusinessServiceSysConfig.class) : workSignBusinessServiceSysConfig;
                break;
            case "t_third_person_info":
                workSignBusinessService = workSignBusinessServiceThirdPersonInfo== null ? SpringUtil.getBean(WorkSignBusinessServiceThirdPersonInfo.class) : workSignBusinessServiceThirdPersonInfo;
                break;
            case "t_ws_result":
                workSignBusinessService = workSignBusinessServiceWsResult== null ? SpringUtil.getBean(WorkSignBusinessServiceWsResult.class) : workSignBusinessServiceWsResult;
                break;
            case "t_ws_temp":
                workSignBusinessService = workSignBusinessServiceWsTemp== null ? SpringUtil.getBean(WorkSignBusinessServiceWsTemp.class) : workSignBusinessServiceWsTemp;
                break;
            case "t_uap_app":
                workSignBusinessService = workSignBusinessServiceUapApp== null ? SpringUtil.getBean(WorkSignBusinessServiceUapApp.class) : workSignBusinessServiceUapApp;
                break;
            case "t_uap_group":
                workSignBusinessService = workSignBusinessServiceUapGroup== null ? SpringUtil.getBean(WorkSignBusinessServiceUapGroup.class) : workSignBusinessServiceUapGroup;
                break;
            case "t_uap_user":
                workSignBusinessService = workSignBusinessServiceUapUser== null ? SpringUtil.getBean(WorkSignBusinessServiceUapUser.class) : workSignBusinessServiceUapUser;
                break;
            case "t_entrusting_depart":
                workSignBusinessService = workSignBusinessServiceEntrustingDepart== null ? SpringUtil.getBean(WorkSignBusinessServiceEntrustingDepart.class) : workSignBusinessServiceEntrustingDepart;
                break;
            case "t_wssq_applicant_info":
                workSignBusinessService = workSignBusinessServiceWssqApplicantInfo== null ? SpringUtil.getBean(WorkSignBusinessServiceWssqApplicantInfo.class) : workSignBusinessServiceWssqApplicantInfo;
                break;
            case "t_wssq_evidence":
                workSignBusinessService = workSignBusinessServiceWssqEvidence== null ? SpringUtil.getBean(WorkSignBusinessServiceWssqEvidence.class) : workSignBusinessServiceWssqEvidence;
                break;
            case "t_wssq_inquire":
                workSignBusinessService = workSignBusinessServiceWssqInquire== null ? SpringUtil.getBean(WorkSignBusinessServiceWssqInquire.class) : workSignBusinessServiceWssqInquire;
                break;
            case "t_wssq_login":
                workSignBusinessService = workSignBusinessServiceWssqLogin== null ? SpringUtil.getBean(WorkSignBusinessServiceWssqLogin.class) : workSignBusinessServiceWssqLogin;
                break;
            case "t_wssq_overt":
                workSignBusinessService = workSignBusinessServiceWssqOvert== null ? SpringUtil.getBean(WorkSignBusinessServiceWssqOvert.class) : workSignBusinessServiceWssqOvert;
                break;
            case "t_wssq_respondent_info":
                workSignBusinessService = workSignBusinessServiceWssqRespondentInfo== null ? SpringUtil.getBean(WorkSignBusinessServiceWssqRespondentInfo.class) : workSignBusinessServiceWssqRespondentInfo;
                break;
            case "t_person_info":
                workSignBusinessService = workSignBusinessServicePersonInfo== null ? SpringUtil.getBean(WorkSignBusinessServicePersonInfo.class) : workSignBusinessServicePersonInfo;
                break;
            case "xssht_respondent_info":
                workSignBusinessService = workSignBusinessServiceXsshRespondentInfo== null ? SpringUtil.getBean(WorkSignBusinessServiceXsshRespondentInfo.class) : workSignBusinessServiceXsshRespondentInfo;
                break;
            case "ed_user":
                workSignBusinessService = workSignBusinessServiceEdUser== null ? SpringUtil.getBean(WorkSignBusinessServiceEdUser.class) : workSignBusinessServiceEdUser;
                break;

        }
        return workSignBusinessService;
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bst@微胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值