接口动态调用

简介: spring配置文件配置 调用方法 private ServiceOutput doClazzByBeanName(String beanName, ServiceInput input) throws ServiceException { ServiceOutput output = .

spring配置文件配置

<"bean id="dt" class="DtClass" />

调用方法

private ServiceOutput doClazzByBeanName(String beanName, ServiceInput input) throws ServiceException {

    ServiceOutput output = new CServiceOutput(input);
    try {
        ApplicationContext context = ApplicationContextUtil.getContext();
        IServcieV2 service = (Servcie) context.getBean(beanName);
        output = service.doService(input);
    } catch (ServiceException e) {
        throw new ServiceException(ResultType.ErrorTip, "动态调用服务" + beanName + "异常");
    } catch (Exception e) {
        throw new ServiceException(ResultType.ErrorTip, "动态获取服务" + beanName + "异常");
    }
    return output;
}

ApplicationContextUtil类

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

public class ApplicationContextUtil implements ApplicationContextAware {

private static ApplicationContext context;

public ApplicationContextUtil() {
}

public void setApplicationContext(ApplicationContext context) throws BeansException {
    context = context;
}

public static ApplicationContext getContext() {
    return context;
}

}

相关文章
|
机器学习/深度学习 人工智能 自然语言处理
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
ModernBERT 是由英伟达和 HuggingFace 等机构联合开源的新一代编码器模型,支持长上下文处理,性能超越 SOTA,适合多种自然语言处理任务。
556 7
ModernBERT:英伟达开源的新一代编码器模型,性能超越 SOTA,通过去除填充和序列打包减少计算浪费,提高训练和推理的效率
|
存储 监控 Linux
windows下cpu和性能指标监控Top10的实现
windows下cpu和性能指标监控Top10的实现
windows下cpu和性能指标监控Top10的实现
|
JSON NoSQL MongoDB
Compass
【6月更文挑战第8天】Compass
563 9
|
传感器 监控 安全
|
Java 编译器 Go
Go语言内存管理优化实践
【2月更文挑战第11天】随着Go语言在各个领域的应用日益广泛,对其性能的要求也越来越高。内存管理作为影响程序性能的关键因素之一,对Go语言的优化显得尤为重要。本文将深入探讨Go语言的内存管理机制,并提供一系列实用的内存优化策略,帮助开发者更加高效地利用内存资源,提升Go程序的整体性能。
|
XML JavaScript 前端开发
jqGrid 详解大全
jqGrid 各种参数 详解 JQGrid JQGrid是一个在jquery基础上做的一个表格控件,以ajax的方式和服务器端通信。 JQGrid Demo 是一个在线的演示项目。
3919 0
|
Rust 开发工具 git
【一起学Rust】Rust包管理工具Cargo初步了解
【一起学Rust】Rust包管理工具Cargo初步了解
469 0
|
移动开发 物联网 机器人
玩转物联网外设之步进电机 -《神奇的物联网》
电机是在IoT领域经常用到的一个重要模块,大到使用在农业中的水泵、电动大棚,小到机器人、甚至镜头中的微型马达,都需要使用到电机,可以说电机是为设备提供机械动力的重要来源之一。
923 1

热门文章

最新文章